Por a variável falsa quando paramos de clicar
2 participantes
Página 1 de 1
Por a variável falsa quando paramos de clicar
Boa tarde, eu criei um script de controlar o player, mas estou com 1 pequeno problema.
Quando o player pressiona a tecla D ou S uma variável booleana fica true, e eu queria que quando o player para-se de pressionar voltaria para false, mas não consigo fazer isso.
Script:
Agradeço as ajudas. =)
Quando o player pressiona a tecla D ou S uma variável booleana fica true, e eu queria que quando o player para-se de pressionar voltaria para false, mas não consigo fazer isso.
Script:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class player : MonoBehaviour {
private Rigidbody2D rb;
private Transform tr;
private Animator an;
private bool estaNoChao, estaNaParede, estaVivo, viradoParaDireita, estaPular, estaAndar;
public Transform verificaChao, verificaParede;
public float velocidade, forcaPulo, raioValidaChao, raioValidaParede;
public LayerMask objetosSolidos;
void Start () {
rb = GetComponent<Rigidbody2D> ();
tr = GetComponent<Transform> ();
an = GetComponent<Animator> ();
estaVivo = true;
viradoParaDireita = true;
estaAndar = false;
}
void Update () {
estaNoChao = Physics2D.OverlapCircle(verificaChao.position, raioValidaChao, objetosSolidos);
estaNaParede = Physics2D.OverlapCircle(verificaParede.position, raioValidaParede, objetosSolidos);
if (estaVivo){
if (estaNoChao){
estaPular = false;
}
if (Input.GetAxisRaw("Horizontal") > 0){
transform.Translate(Vector2.right * velocidade * Time.deltaTime);
transform.eulerAngles = new Vector2(0, 0);
estaAndar = true;
}
if (Input.GetAxisRaw("Horizontal") < 0){
transform.Translate(Vector2.right * velocidade * Time.deltaTime);
transform.eulerAngles = new Vector2(0, 180);
estaAndar = true;
}
if (Input.GetButtonDown("Jump") && estaNoChao && !estaPular){
estaPular = true;
rb.AddForce(tr.up * forcaPulo);
}
Animations ();
}
}
void Animations(){
an.SetBool("Andar", (estaNoChao && estaAndar));
an.SetBool ("Pular", !estaNoChao);
an.SetFloat ("VelVertical", rb.velocity.y);
}
}
Agradeço as ajudas. =)
GloryGames- Membro
- PONTOS : 2879
REPUTAÇÃO : 11
Respeito as regras :
Re: Por a variável falsa quando paramos de clicar
Seria a variável estaAndar?
Adicione em baixo da chave da linha 46:
Adicione em baixo da chave da linha 46:
- Código:
if(Input.GetAxisRaw("Horizontal") == 0))
estaAndar = false;
Re: Por a variável falsa quando paramos de clicar
era isso mesmo, obrigado.
GloryGames- Membro
- PONTOS : 2879
REPUTAÇÃO : 11
Respeito as regras :
Tópicos semelhantes
» [Ajuda] Checar quando um valor de uma variável mudou
» Onde ficar armazenada a variável quando usamos PlayerPrefs?
» [DÚVIDA] FAZER OBJETO GIRAR EM TORNO DE SI QUANDO CLICAR E ARRASTAR O OBJETO PARA OS LADOS
» Erro de falsa memoria
» Como acessar uma variável de um script utilizando como parâmetro uma variável nomescript
» Onde ficar armazenada a variável quando usamos PlayerPrefs?
» [DÚVIDA] FAZER OBJETO GIRAR EM TORNO DE SI QUANDO CLICAR E ARRASTAR O OBJETO PARA OS LADOS
» Erro de falsa memoria
» Como acessar uma variável de um script utilizando como parâmetro uma variável nomescript
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos