Dúvida com Animação!
2 participantes
Página 1 de 1
Dúvida com Animação!
Galera, estou desenvolvendo um jogo em unity, e estou com uma dúvida.
No meu jogo quando o personagem pular e apertar novamente espaço o personagem mantem uma animação com paraquedas aberto.
Mas quando tento executar isso ele executa a animação apenas 1 vez e para :/
alguém consegue me ajudar ?
E se alguém conseguir me ajudar e simplificar esse meu código, sou iniciante ainda, mas estou achando muito poluído com coisas desnecessárias
No meu jogo quando o personagem pular e apertar novamente espaço o personagem mantem uma animação com paraquedas aberto.
Mas quando tento executar isso ele executa a animação apenas 1 vez e para :/
alguém consegue me ajudar ?
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
- Código:
public class PlayerControl : MonoBehaviour
{
- Código:
public float jumpForce;
public float speedPlayer;
- Código:
public int lives;
public int coins;
- Código:
public Text textLives;
public Text textCoins;
- Código:
public bool isGrounded;
public bool canfly;
- Código:
- Código:
//protected Joystick joystick;
//protected FixedButton fixedButton;
void Start()
{
// joystick = FindObjectOfType<Joystick>();
//fixedButton = FindObjectOfType<FixedButton>();
- Código:
textLives.text = lives.ToString();
textCoins.text = coins.ToString();
- Código:
}
- Código:
void FixedUpdate()
{
- Código:
- Código:
Rigidbody2D rigidbody = GetComponent<Rigidbody2D>();
- Código:
float moviment = Input.GetAxis("Horizontal");
- Código:
rigidbody.velocity = new Vector3(moviment *speedPlayer, rigidbody.velocity.y);
- Código:
http://rigidbody.velocity = new Vector3(joystick.Horizontal * 10f, rigidbody.velocity.y);
- Código:
if(moviment < 0)
{
GetComponent<SpriteRenderer>().flipX = true;
} else if (moviment > 0)
{
GetComponent<SpriteRenderer>().flipX = false;
}
- Código:
if(moviment > 0 || moviment < 0)
{
GetComponent<Animator>().SetBool("Run", true);
}
else
{
GetComponent<Animator>().SetBool("Run", false);
}
- Código:
if (Input.GetKeyDown(KeyCode.Space) || (Input.GetMouseButtonDown(0) ))
{
if (isGrounded)
{
rigidbody.AddForce(new Vector2(0, jumpForce));
GetComponent<AudioSource>().Play();
canfly = false;
}
else
{
canfly = true;
}
}
if(canfly && (Input.GetKeyDown(KeyCode.Space) || (Input.GetMouseButtonDown(0))))
{
GetComponent<Animator>().SetBool("Fly", true);
rigidbody.velocity = new Vector3(rigidbody.velocity.x, -1f);
}
else
{
GetComponent<Animator>().SetBool("Fly", false);
}
- Código:
if (isGrounded)
{
GetComponent<Animator>().SetBool("Jump", false);
- Código:
}
else GetComponent<Animator>().SetBool("Jump", true);
{
- Código:
}
- Código:
}
- Código:
void OnCollisionEnter2D(Collision2D otherEnter)
{
if (otherEnter.gameObject.CompareTag("Plataformas"))
{
isGrounded = true;
- Código:
}
if (otherEnter.gameObject.CompareTag("Enemy"))
{
//Lógica perder vida
}
if (otherEnter.gameObject.CompareTag("Coins"))
{
//Get coins
}
- Código:
}
void OnCollisionExit2D(Collision2D otherExit)
{
if (otherExit.gameObject.CompareTag("Plataformas"))
{
isGrounded = false;
- Código:
}
}
}
E se alguém conseguir me ajudar e simplificar esse meu código, sou iniciante ainda, mas estou achando muito poluído com coisas desnecessárias
AzulBananaFosco- Iniciante
- PONTOS : 2646
REPUTAÇÃO : 0
Idade : 27
Áreas de atuação : Android/Unity
Respeito as regras :
Re: Dúvida com Animação!
ja tentou verificar a configuração da animação na Animator ?? ativar o loop
adenilson romao- MembroAvançado
- PONTOS : 2928
REPUTAÇÃO : 15
Respeito as regras :
Re: Dúvida com Animação!
aconselho eu sem muito saber a organizar seu script da seguinte forma
usings....
public class script : MonoBehaviour
{
//coloque todas as variaveis aqui, mesmo que falem que nao ,
aconselho a fazer no inicio eh mais facil para se achar
void Start()
{
}
void Update()
{
todos os comandos fora de if() no inicio
depois todos os if() na sequencia desejada
}
}
usings....
public class script : MonoBehaviour
{
//coloque todas as variaveis aqui, mesmo que falem que nao ,
aconselho a fazer no inicio eh mais facil para se achar
void Start()
{
}
void Update()
{
todos os comandos fora de if() no inicio
depois todos os if() na sequencia desejada
}
}
adenilson romao- MembroAvançado
- PONTOS : 2928
REPUTAÇÃO : 15
Respeito as regras :
Re: Dúvida com Animação!
adenilson romao escreveu:aconselho eu sem muito saber a organizar seu script da seguinte forma
usings....
public class script : MonoBehaviour
{
//coloque todas as variaveis aqui, mesmo que falem que nao ,
aconselho a fazer no inicio eh mais facil para se achar
void Start()
{
}
}
void Update()
{
todos os comandos fora de if() no inicio
depois todos os if() na sequencia desejada
}
}
e evite {
}
desnecessários
se o comando apos um if() possui apenas uma linha use
if(requisito)
comando
e nao
if(requisito)
{
comando
}
adenilson romao- MembroAvançado
- PONTOS : 2928
REPUTAÇÃO : 15
Respeito as regras :
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos