Dúvida sobre uma animação
2 participantes
Página 1 de 1
Dúvida sobre uma animação
Boa noite,
aqui em um jogo 2D estou fazendo uma animação em que, se o personagem ficar parado sem andar, atirar, pular, sem fazer nada, um tempo começa a correr e quando alcançar 3 segundos faz a animação de o personagem estar impaciente e nervoso.
é aquela animação que todo mundo já conhece em varios jogos de plataforma, como sonic, o personagem olha para vc, apaonta para frente, bate o pé no chao, e por ai vai...
eu consegui fazer animação com os 3 segundos, no Animator ela chama "playerImpaciente" e o parametro é o 'impaciente', do tipo Trigger.
ela sai somente da animação setada como padrão, que é o personagem parado, ou seja, ela só vai acontecer se o player ficar parado por 3 seg.
só que quando ela começa aí eu não sei mais como sair dela.
deixei essa animação marcado com Loop porque ela vai ficar se repetindo enquanto eu estiver sem fazer nada, mas quero que ela pare e volte para a animação parado quando eu apertar o direcional, o botão pulo e o botão de atirar.
alguem pode me ajudar?
aqui em um jogo 2D estou fazendo uma animação em que, se o personagem ficar parado sem andar, atirar, pular, sem fazer nada, um tempo começa a correr e quando alcançar 3 segundos faz a animação de o personagem estar impaciente e nervoso.
é aquela animação que todo mundo já conhece em varios jogos de plataforma, como sonic, o personagem olha para vc, apaonta para frente, bate o pé no chao, e por ai vai...
eu consegui fazer animação com os 3 segundos, no Animator ela chama "playerImpaciente" e o parametro é o 'impaciente', do tipo Trigger.
ela sai somente da animação setada como padrão, que é o personagem parado, ou seja, ela só vai acontecer se o player ficar parado por 3 seg.
só que quando ela começa aí eu não sei mais como sair dela.
deixei essa animação marcado com Loop porque ela vai ficar se repetindo enquanto eu estiver sem fazer nada, mas quero que ela pare e volte para a animação parado quando eu apertar o direcional, o botão pulo e o botão de atirar.
alguem pode me ajudar?
Marc7- Mestre
- PONTOS : 3443
REPUTAÇÃO : 28
Respeito as regras :
Re: Dúvida sobre uma animação
se você usou o animator faz a mesma transição de impaciente para andando por exemplo, vai haver a transição de parado para impaciente e de impaciente para andando, qualquer coisa poste o script e imagem do seu animator.
kalielson- ProgramadorMaster
- PONTOS : 3572
REPUTAÇÃO : 120
Idade : 40
Áreas de atuação : Mestrando em Computação
Respeito as regras :
Re: Dúvida sobre uma animação
eu criei as seguintes transições:
playerImpaciente > playerRun
playerImpaciente > playerAbaixa
playerImpaciente > atira
playerImpaciente > atiraCima
playerImpaciente > playerRun
fiz essas transições porque quando ele estiver impaciente, toda ação de movimentar, pular, atirar, abaixar, vai sair dela.
e setei para elas os mesmos parametros a animação de parado (idlePlayer).
até que funcionou, quando espero os 3 segundos ele fica impaciente.
fiz um codigo que se eu fizer qualquer coisa com o personagem o tempo zera (tempo = 0;)
só que mesmo eu saindo de impaciente para qualquer das animações acima, se eu paro de fazer qualqwur coisa com o personagem ele volta para impaciente antes mesmo de o tempo chegar a 3 seg.
script:
playerImpaciente > playerRun
playerImpaciente > playerAbaixa
playerImpaciente > atira
playerImpaciente > atiraCima
playerImpaciente > playerRun
fiz essas transições porque quando ele estiver impaciente, toda ação de movimentar, pular, atirar, abaixar, vai sair dela.
e setei para elas os mesmos parametros a animação de parado (idlePlayer).
até que funcionou, quando espero os 3 segundos ele fica impaciente.
fiz um codigo que se eu fizer qualquer coisa com o personagem o tempo zera (tempo = 0;)
só que mesmo eu saindo de impaciente para qualquer das animações acima, se eu paro de fazer qualqwur coisa com o personagem ele volta para impaciente antes mesmo de o tempo chegar a 3 seg.
script:
- Código:
using UnityEngine;
using System.Collections;
public class PlayerControl : MonoBehaviour {
public float maxSpeed;
public bool estaNoChao = false;
public bool estaNoChao2 = false;
public Transform chaoVerificador;
public float alturaPulo;
public float forcaArrastar;
public AudioClip[] clips;
public bool pulouParado = false;
public bool pulouAndando = false;
public bool pulou = false;
public bool abaixou = false;
public bool atirarCima = false;
public bool atirarBaixo = false;
public bool atirou = false;
public bool movimentou = false;
public bool impaciente = false;
public float tempoImpaciencia = 3f;
public float tempo;
public Animator animatorController;
Rigidbody2D myRigidbody;
Animator animator;
public bool paraDireita;
PlayerController2 script2;
MovePlayer mover;
void Start() {
myRigidbody = GetComponent<Rigidbody2D>();
animator = GetComponent<Animator>();
paraDireita = true;
}
void FixedUpdate() {
animator.SetFloat("anda", Mathf.Abs(Input.GetAxis("Horizontal")));
if (!atirou) {
myRigidbody.velocity = new Vector2(Input.GetAxis("Horizontal") * maxSpeed, myRigidbody.velocity.y);
}
if (Input.GetAxis("Horizontal") > 0 && !paraDireita) {
Virar();
}
else if (Input.GetAxis("Horizontal") < 0 && paraDireita) {
Virar();
}
if (Input.GetAxis("Horizontal") != 0f) {
movimentou = true;
}
else {
movimentou = false;
}
if (!movimentou && !atirou && !abaixou && !atirarCima) {
tempo += Time.deltaTime;
}
else {
tempo = 0;
}
//Fica impaciente por nao apertar nehum tecla
if (tempo >= tempoImpaciencia) {
animator.SetTrigger("impaciente");
}
if (impaciente) {
if (tempo == 0) {
impaciente = false;
}
}
}
}
Marc7- Mestre
- PONTOS : 3443
REPUTAÇÃO : 28
Respeito as regras :
Tópicos semelhantes
» Duvida sobre animação
» Dúvida sobre animação
» Duvida sobre UVs
» Duvida sobre animação e skill sair sincronizados
» Duvida com animação
» Dúvida sobre animação
» Duvida sobre UVs
» Duvida sobre animação e skill sair sincronizados
» Duvida com animação
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos