Duvida com animação de estar caindo quando estiver caindo
Página 1 de 1
Duvida com animação de estar caindo quando estiver caindo
Meu jogo é assim:
Eu estou tentando colocar uma animação dele caindo quando estiver caindo,por enquanto so fiz uma parte da animação so pra testar e eu fiz assim o codigo:
estou fazendo o codigo dentro do script de Pulo
Condição 2 = Animação dele parado para direita
Condição 28 = Animação dele caindo para direita
Condição 26 = Animação dele pulando para esquerda
Condição 25 = Animação dele pulando para direita
Esta dando certo,mais quando aperto D para andar para direita,A animação fica travada na animação de parado para direita e a animação de andar para direita nao ocorre.Como eu posso resolver isso?
Eu estou tentando colocar uma animação dele caindo quando estiver caindo,por enquanto so fiz uma parte da animação so pra testar e eu fiz assim o codigo:
estou fazendo o codigo dentro do script de Pulo
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Pulo : MonoBehaviour {
public string Tags = "nada";
public bool poderpular;
public float ForçaDoPulo = 180;
private Animator ControlAgachar;
public string direcao = ("Direita");
public float RaioDeColisão = 1;
//Som do personagem
public AudioSource PulandoGrama;
public AudioSource PulandoTerra;
public AudioSource PulandoMadeira;
public AudioSource PulandoAgua;
public AudioSource PulandoNada;
public AudioSource PulandoConcreto;
// Use this for initialization
void Start () {
ControlAgachar = GetComponent<Animator> ();
}
// Update is called once per frame
void Update () {
RaycastHit pontocolisao;
if (Physics.Raycast (transform.position, -Vector3.up,out pontocolisao, 1)) {
poderpular = true;
} else {
poderpular = false;
}
if (Input.GetKeyDown (KeyCode.D)) {
direcao = ("Direita");
}
// D
if (Input.GetKeyDown (KeyCode.Space) && poderpular == true && direcao == ("Direita")){
GetComponent<Rigidbody> ().AddForce (Vector3.up * ForçaDoPulo);
ControlAgachar.SetInteger ("Condição", 25);
if (Physics.Raycast (transform.position, -Vector3.up, out pontocolisao, RaioDeColisão)) {
if (pontocolisao.transform.gameObject.tag == "Gramado") {
PulandoGrama.Play ();
Tags = "Gramado";
}
if (pontocolisao.transform.gameObject.tag == "Terra") {
PulandoTerra.Play ();
Tags = "Terra";
}
if (pontocolisao.transform.gameObject.tag == "Agua") {
PulandoAgua.Play ();
Tags = "Agua";
}
if (pontocolisao.transform.gameObject.tag == "Madeira") {
PulandoMadeira.Play ();
Tags = "Madeira";
}
if (pontocolisao.transform.gameObject.tag == "Concreto") {
PulandoConcreto.Play ();
Tags = "Concreto";
}
if (pontocolisao.transform.gameObject.tag == "Untagged") {
PulandoNada.Play ();
Tags = "SemTag";
}
if (pontocolisao.transform.gameObject.tag == "Pula-pula") {
ForçaDoPulo = 560;
Tags = "PulaPula";
}
}
}
if (Input.GetKeyDown (KeyCode.A)) {
direcao = ("Esquerda");
}
// A
if (Input.GetKeyDown (KeyCode.Space) && poderpular == true && direcao == ("Esquerda")){
ControlAgachar.SetInteger ("Condição", 26);
GetComponent<Rigidbody> ().AddForce (Vector3.up * ForçaDoPulo);
if (Physics.Raycast (transform.position, -Vector3.up, out pontocolisao, RaioDeColisão)) {
if (pontocolisao.transform.gameObject.tag == "Gramado") {
PulandoGrama.Play ();
Tags = "Gramado";
}
if (pontocolisao.transform.gameObject.tag == "Terra") {
PulandoTerra.Play ();
Tags = "Terra";
}
if (pontocolisao.transform.gameObject.tag == "Agua") {
PulandoAgua.Play ();
Tags = "Agua";
}
if (pontocolisao.transform.gameObject.tag == "Madeira") {
PulandoMadeira.Play ();
Tags = "Madeira";
}
if (pontocolisao.transform.gameObject.tag == "Untagged") {
PulandoNada.Play ();
Tags = "SemTag";
}
if (pontocolisao.transform.gameObject.tag == "Pula-pula") {
ForçaDoPulo = 560;
Tags = "PulaPula";
}
if (pontocolisao.transform.gameObject.tag == "Concreto") {
PulandoConcreto.Play ();
Tags = "Concreto";
}
}
}
//Cair
if (poderpular == false ) {
ControlAgachar.SetInteger ("Condição", 28);
Debug.Log ("Caindo");
}
if (poderpular == true){
ControlAgachar.SetInteger ("Condição", 2);
Debug.Log ("No chão");
}
}
}
Condição 2 = Animação dele parado para direita
Condição 28 = Animação dele caindo para direita
Condição 26 = Animação dele pulando para esquerda
Condição 25 = Animação dele pulando para direita
Esta dando certo,mais quando aperto D para andar para direita,A animação fica travada na animação de parado para direita e a animação de andar para direita nao ocorre.Como eu posso resolver isso?
Re: Duvida com animação de estar caindo quando estiver caindo
Consegui resolver o problema,eu coloquei esse codigo:
no void fixedupdate e esse codigo:
no void start e ta funcionando normal
- Código:
if (poderpular == true) {
ControlAgachar.SetInteger ("Condição", 29);
Debug.Log ("Caindo");
}
if (poderpular == false ) {
ControlAgachar.SetInteger ("Condição", 28);
Debug.Log ("Caindo");
}
no void fixedupdate e esse codigo:
- Código:
if (poderpular == false ) {
ControlAgachar.SetInteger ("Condição", 28);
Debug.Log ("Caindo");
}
no void start e ta funcionando normal
Tópicos semelhantes
» Script quando mais você estiver perto de um mesh
» (DUVIDA) animação ser executada enquanto a tecla estiver pressionada
» Como fazer o fov reduzir quando a telca não estiver sendo pressionada ?
» Quando a porta estiver trancada dar tipo uma tremedeira
» Como faz para se a animação tal estiver acontecendo,acontece tal coisa?
» (DUVIDA) animação ser executada enquanto a tecla estiver pressionada
» Como fazer o fov reduzir quando a telca não estiver sendo pressionada ?
» Quando a porta estiver trancada dar tipo uma tremedeira
» Como faz para se a animação tal estiver acontecendo,acontece tal coisa?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos