Contagem C#
2 participantes
Página 1 de 1
Contagem C#
no script a contagem começa quando areaSange = true e dps que termina volta a ser falce, só que se o player entrar na área de novo, ele não volta pra true e volta a contagem do começo, como posso fazer isso?
- Código:
void Update()
{
if (Input.GetKeyDown(Interagir))
{
if (areaSangue == true)
{
pontos = pontos + 1;
OrganizarPontuacao();
}
}
if (contagem > 0.0f && areaSangue == true)
{
contagem -= Time.deltaTime;
displayContagem.text = contagem.ToString("F2");
}
else
{
areaSangue = false;
}
}
void OnTriggerStay(Collider other)
{
float distancia = Vector3.Distance(Jogador.transform.position, transform.position);
if (distancia < Distancia)
{
bool TemEsfregao = false;
for (int x = 0; x < Listadesangue.ItensDoJogador.Count; x++)
{
if (Listadesangue.ItensDoJogador[x] == IDSangue)
{
TemEsfregao = true;
}
}
if (TemEsfregao == true)
{
if (other.tag == "Respawn")
{
areaSangue = true;
}
}
}
}
Mozinhas2- Membro
- PONTOS : 1459
REPUTAÇÃO : 11
Idade : 22
Áreas de atuação : Unity, Blender
Respeito as regras :
Re: Contagem C#
Para isso, inicialmente voce deveria criar uma variável que atribuísse o valor a contagem, ou seja, a variavel contagem iria herdar esse valor, por exemplo.
Pois assim voce nunca iria perder este valor ao ir subtraindo a contagem. E então voce poderia utilizar a void OnTriggerEnter() para fazer a checagem e retornar a contagem. Olhe:
- Código:
float tempo = 3f;
float contagem = tempo;
Pois assim voce nunca iria perder este valor ao ir subtraindo a contagem. E então voce poderia utilizar a void OnTriggerEnter() para fazer a checagem e retornar a contagem. Olhe:
- Código:
private float tempo = 3f;
private float contagem = tempo;
void Update()
{
if (Input.GetKeyDown(Interagir))
{
if (areaSangue == true)
{
pontos = pontos + 1;
OrganizarPontuacao();
}
}
if (contagem > 0.0f && areaSangue == true)
{
contagem -= Time.deltaTime;
displayContagem.text = contagem.ToString("F2");
}
else
{
areaSangue = false;
}
}
void OnTriggerEnter(Collider other)
{
if(contagem <= 0f && !areaSangue)
{
contagem = tempo;
areaSangue = true;
}
}
void OnTriggerStay(Collider other)
{
float distancia = Vector3.Distance(Jogador.transform.position, transform.position);
if (distancia < Distancia)
{
bool TemEsfregao = false;
for (int x = 0; x < Listadesangue.ItensDoJogador.Count; x++)
{
if (Listadesangue.ItensDoJogador[x] == IDSangue)
{
TemEsfregao = true;
}
}
if (TemEsfregao == true)
{
if (other.tag == "Respawn")
{
areaSangue = true;
}
}
}
}
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: Contagem C#
Funcionou perfeitamente, obrigado, só tive que mudar a parte do Ontriggerenter, a area tava em true, então dps que contava uma vez, ele contava de novo logo em seguida, agora em false está funcionando. Obrigado pela ajudaPokedlg escreveu:Para isso, inicialmente voce deveria criar uma variável que atribuísse o valor a contagem, ou seja, a variavel contagem iria herdar esse valor, por exemplo.
- Código:
float tempo = 3f;
float contagem = tempo;
Pois assim voce nunca iria perder este valor ao ir subtraindo a contagem. E então voce poderia utilizar a void OnTriggerEnter() para fazer a checagem e retornar a contagem. Olhe:
- Código:
private float tempo = 3f;
private float contagem = tempo;
void Update()
{
if (Input.GetKeyDown(Interagir))
{
if (areaSangue == true)
{
pontos = pontos + 1;
OrganizarPontuacao();
}
}
if (contagem > 0.0f && areaSangue == true)
{
contagem -= Time.deltaTime;
displayContagem.text = contagem.ToString("F2");
}
else
{
areaSangue = false;
}
}
void OnTriggerEnter(Collider other)
{
if(contagem <= 0f && !areaSangue)
{
contagem = tempo;
areaSangue = true;
}
}
void OnTriggerStay(Collider other)
{
float distancia = Vector3.Distance(Jogador.transform.position, transform.position);
if (distancia < Distancia)
{
bool TemEsfregao = false;
for (int x = 0; x < Listadesangue.ItensDoJogador.Count; x++)
{
if (Listadesangue.ItensDoJogador[x] == IDSangue)
{
TemEsfregao = true;
}
}
if (TemEsfregao == true)
{
if (other.tag == "Respawn")
{
areaSangue = true;
}
}
}
}
Mozinhas2- Membro
- PONTOS : 1459
REPUTAÇÃO : 11
Idade : 22
Áreas de atuação : Unity, Blender
Respeito as regras :
Tópicos semelhantes
» Mostrar a contagem em 10K e 100M
» Colocar contagem regressiva
» Fazer uma contagem de tempo regressiva
» Dúvida em relação a contagem de dinheiro
» Ajuda e Contagem regressiva com um barra
» Colocar contagem regressiva
» Fazer uma contagem de tempo regressiva
» Dúvida em relação a contagem de dinheiro
» Ajuda e Contagem regressiva com um barra
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos