[RESOLVIDO] Script não funciona corretamente, qual seria o problema?
4 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Script não funciona corretamente, qual seria o problema?
O script tem varias funções uma delas é que quando chegar a 0 ou menos de corações não print e nao para o jogo.
qual seria a problema nas linhas?
qual seria a problema nas linhas?
- Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Player : MonoBehaviour
{
public Button RestartButton;
public Button Quit;
public Text textscore;
public Text bestScore;
private int score;
//public AudioSource ;
public AudioClip jumpSound;
public AudioClip destSound;
public int quanti;
public int min = 2;
public Text texto;
public int coracoes;
public int maxCoracoes;
public int coracoesiniciais;
public Rigidbody massa;
public float massapadrao;
public float massadevagar;
public int tempo;
void Start()
{
massapadrao = 0.7f;
massadevagar = 5f;
quanti = 0;
Time.timeScale = 1.5f;
score = 0;
bestScore.text = "Best: " + PlayerPrefs.GetFloat("Best");
texto.text = String.Empty;
coracoes = coracoesiniciais;
}
public void AddCor(int qnt)
{
coracoes += qnt;
}
void Updade()
{
if (coracoes <= 0)
{
print("Morreu");
RestartButton.gameObject.SetActive(true);
Quit.gameObject.SetActive(true);
Time.timeScale = 0f;
return;
}
else
{
if (coracoes >= 3)
{
coracoes = 3;
}
}
if (quanti >= min)
{
texto.text = "" +quanti.ToString();
}
else
{
texto.text = string.Empty;
}
}
IEnumerator Lentidao()
{
massa.drag = massadevagar;
yield return new WaitForSeconds(tempo);
massa.drag = massapadrao;
}
// ball when Toche redBar
void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Balao")) {
StartCoroutine(Lentidao());
Destroy(other.gameObject);
return;
}
if (other.gameObject.name == "Enmy")
{
coracoes--;
print(coracoes.ToString());
}
if (other.gameObject.name == "ScoreBar")
{
score = score + 1;
quanti++;
if (PlayerPrefs.GetFloat("Best") < score)
PlayerPrefs.SetFloat("Best", score);
textscore.text = "" + score.ToString();
other.gameObject.SetActive(false);
}
}
void OnTriggerExit(Collider other)
{
if (other.gameObject.name == "Circle")
{
HealthBar.health -= 1f;
AudioSource audio = GetComponent<AudioSource>();
audio.PlayOneShot(destSound);
other.gameObject.SetActive(false);
}
}
void OnCollisionEnter(Collision collision)
{
quanti = 0;
if (collision.collider.name == "Bar")
{
AudioSource audio = GetComponent<AudioSource>();
audio.PlayOneShot(jumpSound);
}
}
}
Re: [RESOLVIDO] Script não funciona corretamente, qual seria o problema?
no inspector, a variável 'coracoes' realmente está chegando a valores menores do que 0?
Re: [RESOLVIDO] Script não funciona corretamente, qual seria o problema?
sim, no inspector e no console.MarcosSchultz escreveu:no inspector, a variável 'coracoes' realmente está chegando a valores menores do que 0?
Re: [RESOLVIDO] Script não funciona corretamente, qual seria o problema?
No OnTriggerEnter tem uma tag de no "Enmy", seria este nome mesmo ou seria "Enemy". Pode haver alguma relação!?
Tegh- Avançado
- PONTOS : 2654
REPUTAÇÃO : 97
Idade : 23
Respeito as regras :
Re: [RESOLVIDO] Script não funciona corretamente, qual seria o problema?
sim, ja tem a teg, mas ele verifica pelo nome do objeto que em is trigger, o numero de corações diminui fica,2 1 0, -1 -2 -3 etc...mas nao acontece nada.Tegh escreveu:No OnTriggerEnter tem uma tag de no "Enmy", seria este nome mesmo ou seria "Enemy". Pode haver alguma relação!?
Como poder ver na void update
[list=linenums]
[*] void Updade()
[*] {
[*] if (coracoes <= 0)
[*] {
[*] print("Morreu");
[*] RestartButton.gameObject.SetActive(true);
[*] Quit.gameObject.SetActive(true);
[*] Time.timeScale = 0f;
[*] return;
[/list]
quando chega a 0 coracoes Print "Morreu" e dps ativa uns botoes.
mas isso nao acontece.
Re: [RESOLVIDO] Script não funciona corretamente, qual seria o problema?
Eh q tá escrito Updade e eh Update daí não tá chamando o Update corretamente.
Re: [RESOLVIDO] Script não funciona corretamente, qual seria o problema?
Nossssssssaaaaaaaaaaaa!!!!!!!! >_<MayLeone escreveu:Eh q tá escrito Updade e eh Update daí não tá chamando o Update corretamente.
Agora que vc mencionou, eu percebi que esta errado o nome msm.
Bem que dizem que as mulheres são melhores em observar...
Muito obrigado,vou corrigir e ver se esse é o problema,mas deve ser.
Re: [RESOLVIDO] Script não funciona corretamente, qual seria o problema?
Deu certo,corrigir o nome e funcionou da maneira esperada,OBRIGADO a todos que me ajudaram.
Tópicos semelhantes
» [RESOLVIDO] Problema com script
» [RESOLVIDO] Problema com script básico
» [RESOLVIDO] Problema com um Script
» [RESOLVIDO] Problema em um script
» [RESOLVIDO] Problema com script para captura de texto
» [RESOLVIDO] Problema com script básico
» [RESOLVIDO] Problema com um Script
» [RESOLVIDO] Problema em um script
» [RESOLVIDO] Problema com script para captura de texto
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos