Animação em um If
3 participantes
Página 1 de 1
Animação em um If
Boa tarde! Estou com uma dúvida em relação a minha animação.
Fiz um vetor de 10 posições (já chequei com Debug.Log se ele estava entrando no If ou não) e queria que quando chegasse em uma determinada posição executasse uma animação, porém, ele entra no If, como ja mencionado foi testado com o Debug.Log, e ele não realiza a animação. Meu código é o seguinte:
Com o Debug.Log funciona perfeitamente, porém na hora de chamar a animação ela não roda, é como se o jogo ignorasse a mesma.
Alguém tem alguma dica?! Valeu!
Fiz um vetor de 10 posições (já chequei com Debug.Log se ele estava entrando no If ou não) e queria que quando chegasse em uma determinada posição executasse uma animação, porém, ele entra no If, como ja mencionado foi testado com o Debug.Log, e ele não realiza a animação. Meu código é o seguinte:
- Código:
void teste() {
if(ondaNumero == 2) {
anima1.Play("AnimacaoTexto1");
http://Debug.Log("onda 2");
}
}
Com o Debug.Log funciona perfeitamente, porém na hora de chamar a animação ela não roda, é como se o jogo ignorasse a mesma.
Alguém tem alguma dica?! Valeu!
Ricardito- Membro
- PONTOS : 1729
REPUTAÇÃO : 2
Respeito as regras :
Re: Animação em um If
O que essa variavel ondaNumero significa?
Pokedlg- ProgramadorMaster
- PONTOS : 2336
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: Animação em um If
O jogo que eu estou fazendo é um Tower Defense, essa onda número significa qual "wave" do Tower defense se encontra. O jogo que eu estou fazendo é mais para o lado educativo, então em algumas "waves" específicas, quero mostrar algumas mensagens de incentivo tipo: "vamos lá, você ja esta quase no final" e coisas do gênero.Pokedlg escreveu:O que essa variavel ondaNumero significa?
Essa ondaNumero é um vetor de n posições, que eu defino na Unity a quantidade de waves que quero ter em determinado nível.
Ja testei com o Debug.Log que ele está entrando neste If, porém com a animação não consegui fazer funcionar.
Ricardito- Membro
- PONTOS : 1729
REPUTAÇÃO : 2
Respeito as regras :
Re: Animação em um If
Aaa entendi é uma nova dificuldade no jogo, as "waves", ok. Você já tentou chamar este Void no Update?Ricardito escreveu:O jogo que eu estou fazendo é um Tower Defense, essa onda número significa qual "wave" do Tower defense se encontra. O jogo que eu estou fazendo é mais para o lado educativo, então em algumas "waves" específicas, quero mostrar algumas mensagens de incentivo tipo: "vamos lá, você ja esta quase no final" e coisas do gênero.Pokedlg escreveu:O que essa variavel ondaNumero significa?
Essa ondaNumero é um vetor de n posições, que eu defino na Unity a quantidade de waves que quero ter em determinado nível.
Ja testei com o Debug.Log que ele está entrando neste If, porém com a animação não consegui fazer funcionar.
Pokedlg- ProgramadorMaster
- PONTOS : 2336
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: Animação em um If
Eu já tentei sim, porém, como ele fica verificando o if a "todo instante" a animação nem chega a ser chamada (estou fazendo ela com duração de 7 segundos, sendo que tem um "fade in" até mostrar toda a mensagem) e ele ja está querendo chamar de novo pois a condição do If está sendo exercida.Pokedlg escreveu:Aaa entendi é uma nova dificuldade no jogo, as "waves", ok. Você já tentou chamar este Void no Update?Ricardito escreveu:O jogo que eu estou fazendo é um Tower Defense, essa onda número significa qual "wave" do Tower defense se encontra. O jogo que eu estou fazendo é mais para o lado educativo, então em algumas "waves" específicas, quero mostrar algumas mensagens de incentivo tipo: "vamos lá, você ja esta quase no final" e coisas do gênero.Pokedlg escreveu:O que essa variavel ondaNumero significa?
Essa ondaNumero é um vetor de n posições, que eu defino na Unity a quantidade de waves que quero ter em determinado nível.
Ja testei com o Debug.Log que ele está entrando neste If, porém com a animação não consegui fazer funcionar.
Teste que eu fiz em um "wave" apenas ele chegou a chamar o If cerca de 2000x, aí precisei fazer uma função separada para fazer esse teste para saber em qual wave se encontrava o jogo.
Ricardito- Membro
- PONTOS : 1729
REPUTAÇÃO : 2
Respeito as regras :
Re: Animação em um If
Ricardito escreveu:Eu já tentei sim, porém, como ele fica verificando o if a "todo instante" a animação nem chega a ser chamada (estou fazendo ela com duração de 7 segundos, sendo que tem um "fade in" até mostrar toda a mensagem) e ele ja está querendo chamar de novo pois a condição do If está sendo exercida.Pokedlg escreveu:Aaa entendi é uma nova dificuldade no jogo, as "waves", ok. Você já tentou chamar este Void no Update?Ricardito escreveu:O jogo que eu estou fazendo é um Tower Defense, essa onda número significa qual "wave" do Tower defense se encontra. O jogo que eu estou fazendo é mais para o lado educativo, então em algumas "waves" específicas, quero mostrar algumas mensagens de incentivo tipo: "vamos lá, você ja esta quase no final" e coisas do gênero.Pokedlg escreveu:O que essa variavel ondaNumero significa?
Essa ondaNumero é um vetor de n posições, que eu defino na Unity a quantidade de waves que quero ter em determinado nível.
Ja testei com o Debug.Log que ele está entrando neste If, porém com a animação não consegui fazer funcionar.
Teste que eu fiz em um "wave" apenas ele chegou a chamar o If cerca de 2000x, aí precisei fazer uma função separada para fazer esse teste para saber em qual wave se encontrava o jogo.
- Código:
[size=14]void Update () {
if(ondaNumero == 2) {
Teste();
}
}
void Teste() {
anima1.Play("AnimacaoTexto1");
Debug.Log("onda 2");
}
}[/size]
Tenta assim
Pokedlg- ProgramadorMaster
- PONTOS : 2336
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: Animação em um If
Testei assim, e ele está me relatando o seguinte erro:Pokedlg escreveu:Ricardito escreveu:Eu já tentei sim, porém, como ele fica verificando o if a "todo instante" a animação nem chega a ser chamada (estou fazendo ela com duração de 7 segundos, sendo que tem um "fade in" até mostrar toda a mensagem) e ele ja está querendo chamar de novo pois a condição do If está sendo exercida.Pokedlg escreveu:Aaa entendi é uma nova dificuldade no jogo, as "waves", ok. Você já tentou chamar este Void no Update?Ricardito escreveu:O jogo que eu estou fazendo é um Tower Defense, essa onda número significa qual "wave" do Tower defense se encontra. O jogo que eu estou fazendo é mais para o lado educativo, então em algumas "waves" específicas, quero mostrar algumas mensagens de incentivo tipo: "vamos lá, você ja esta quase no final" e coisas do gênero.Pokedlg escreveu:O que essa variavel ondaNumero significa?
Essa ondaNumero é um vetor de n posições, que eu defino na Unity a quantidade de waves que quero ter em determinado nível.
Ja testei com o Debug.Log que ele está entrando neste If, porém com a animação não consegui fazer funcionar.
Teste que eu fiz em um "wave" apenas ele chegou a chamar o If cerca de 2000x, aí precisei fazer uma função separada para fazer esse teste para saber em qual wave se encontrava o jogo.
- Código:
[size=14]void Update () {
if(ondaNumero == 2) {
Teste();
}
}
void Teste() {
anima1.Play("AnimacaoTexto1");
Debug.Log("onda 2");
}
}[/size]
Tenta assim
'Text' AnimationEvent has no function name specified!
Ricardito- Membro
- PONTOS : 1729
REPUTAÇÃO : 2
Respeito as regras :
Re: Animação em um If
Espera um pouco vou fazer um teste com animation e ja te respondoRicardito escreveu:Testei assim, e ele está me relatando o seguinte erro:Pokedlg escreveu:Ricardito escreveu:Eu já tentei sim, porém, como ele fica verificando o if a "todo instante" a animação nem chega a ser chamada (estou fazendo ela com duração de 7 segundos, sendo que tem um "fade in" até mostrar toda a mensagem) e ele ja está querendo chamar de novo pois a condição do If está sendo exercida.Pokedlg escreveu:Aaa entendi é uma nova dificuldade no jogo, as "waves", ok. Você já tentou chamar este Void no Update?Ricardito escreveu:O jogo que eu estou fazendo é um Tower Defense, essa onda número significa qual "wave" do Tower defense se encontra. O jogo que eu estou fazendo é mais para o lado educativo, então em algumas "waves" específicas, quero mostrar algumas mensagens de incentivo tipo: "vamos lá, você ja esta quase no final" e coisas do gênero.Pokedlg escreveu:O que essa variavel ondaNumero significa?
Essa ondaNumero é um vetor de n posições, que eu defino na Unity a quantidade de waves que quero ter em determinado nível.
Ja testei com o Debug.Log que ele está entrando neste If, porém com a animação não consegui fazer funcionar.
Teste que eu fiz em um "wave" apenas ele chegou a chamar o If cerca de 2000x, aí precisei fazer uma função separada para fazer esse teste para saber em qual wave se encontrava o jogo.
- Código:
[size=14]void Update () {
if(ondaNumero == 2) {
Teste();
}
}
void Teste() {
anima1.Play("AnimacaoTexto1");
Debug.Log("onda 2");
}
}[/size]
Tenta assim
'Text' AnimationEvent has no function name specified!
Pokedlg- ProgramadorMaster
- PONTOS : 2336
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: Animação em um If
Pode ignorar o erro anterior, era algo que eu havia feito anteriormentePokedlg escreveu:Espera um pouco vou fazer um teste com animation e ja te respondoRicardito escreveu:Testei assim, e ele está me relatando o seguinte erro:Pokedlg escreveu:Ricardito escreveu:Eu já tentei sim, porém, como ele fica verificando o if a "todo instante" a animação nem chega a ser chamada (estou fazendo ela com duração de 7 segundos, sendo que tem um "fade in" até mostrar toda a mensagem) e ele ja está querendo chamar de novo pois a condição do If está sendo exercida.Pokedlg escreveu:Aaa entendi é uma nova dificuldade no jogo, as "waves", ok. Você já tentou chamar este Void no Update?Ricardito escreveu:O jogo que eu estou fazendo é um Tower Defense, essa onda número significa qual "wave" do Tower defense se encontra. O jogo que eu estou fazendo é mais para o lado educativo, então em algumas "waves" específicas, quero mostrar algumas mensagens de incentivo tipo: "vamos lá, você ja esta quase no final" e coisas do gênero.Pokedlg escreveu:O que essa variavel ondaNumero significa?
Essa ondaNumero é um vetor de n posições, que eu defino na Unity a quantidade de waves que quero ter em determinado nível.
Ja testei com o Debug.Log que ele está entrando neste If, porém com a animação não consegui fazer funcionar.
Teste que eu fiz em um "wave" apenas ele chegou a chamar o If cerca de 2000x, aí precisei fazer uma função separada para fazer esse teste para saber em qual wave se encontrava o jogo.
- Código:
[size=14]void Update () {
if(ondaNumero == 2) {
Teste();
}
}
void Teste() {
anima1.Play("AnimacaoTexto1");
Debug.Log("onda 2");
}
}[/size]
Tenta assim
'Text' AnimationEvent has no function name specified!
Uma duvida que me surgiu é a seguinte: Como eu quero esta animação apenas em algumas waves, eu inicio com o Animator no objeto desativado certo? E o objeto em si, que é um text, começo com ele ativado ou desativado?
Ricardito- Membro
- PONTOS : 1729
REPUTAÇÃO : 2
Respeito as regras :
Re: Animação em um If
Bom, acho que depende do que vc tem em mente, o seu objeto é um UI certo? quando vc inicia, ele está aparecendo na tela né. Não sei muito o funcionamento da ferramento UI, mas acredito q se vc quiser q o seu Text só apareça uma uma vez junto com a animação, você pode começar com ele desativado, e quando a ondaNumero == 2 vc pode ativalo junto com a animação. A animação funcionou?Ricardito escreveu:Pode ignorar o erro anterior, era algo que eu havia feito anteriormentePokedlg escreveu:Espera um pouco vou fazer um teste com animation e ja te respondoRicardito escreveu:Testei assim, e ele está me relatando o seguinte erro:Pokedlg escreveu:Ricardito escreveu:Eu já tentei sim, porém, como ele fica verificando o if a "todo instante" a animação nem chega a ser chamada (estou fazendo ela com duração de 7 segundos, sendo que tem um "fade in" até mostrar toda a mensagem) e ele ja está querendo chamar de novo pois a condição do If está sendo exercida.Pokedlg escreveu:Aaa entendi é uma nova dificuldade no jogo, as "waves", ok. Você já tentou chamar este Void no Update?Ricardito escreveu:O jogo que eu estou fazendo é um Tower Defense, essa onda número significa qual "wave" do Tower defense se encontra. O jogo que eu estou fazendo é mais para o lado educativo, então em algumas "waves" específicas, quero mostrar algumas mensagens de incentivo tipo: "vamos lá, você ja esta quase no final" e coisas do gênero.Pokedlg escreveu:O que essa variavel ondaNumero significa?
Essa ondaNumero é um vetor de n posições, que eu defino na Unity a quantidade de waves que quero ter em determinado nível.
Ja testei com o Debug.Log que ele está entrando neste If, porém com a animação não consegui fazer funcionar.
Teste que eu fiz em um "wave" apenas ele chegou a chamar o If cerca de 2000x, aí precisei fazer uma função separada para fazer esse teste para saber em qual wave se encontrava o jogo.
- Código:
[size=14]void Update () {
if(ondaNumero == 2) {
Teste();
}
}
void Teste() {
anima1.Play("AnimacaoTexto1");
Debug.Log("onda 2");
}
}[/size]
Tenta assim
'Text' AnimationEvent has no function name specified!
Uma duvida que me surgiu é a seguinte: Como eu quero esta animação apenas em algumas waves, eu inicio com o Animator no objeto desativado certo? E o objeto em si, que é um text, começo com ele ativado ou desativado?
Pokedlg- ProgramadorMaster
- PONTOS : 2336
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: Animação em um If
Animação nada ainda, funciona apenas quando inicia a Scene, pois eu estava testando com o GameObject já ativado, após isso não consigo fazer a animação funcionar de jeito nenhum :/Pokedlg escreveu:Bom, acho que depende do que vc tem em mente, o seu objeto é um UI certo? quando vc inicia, ele está aparecendo na tela né. Não sei muito o funcionamento da ferramento UI, mas acredito q se vc quiser q o seu Text só apareça uma uma vez junto com a animação, você pode começar com ele desativado, e quando a ondaNumero == 2 vc pode ativalo junto com a animação. A animação funcionou?Ricardito escreveu:Pode ignorar o erro anterior, era algo que eu havia feito anteriormentePokedlg escreveu:Espera um pouco vou fazer um teste com animation e ja te respondoRicardito escreveu:Testei assim, e ele está me relatando o seguinte erro:Pokedlg escreveu:Ricardito escreveu:Eu já tentei sim, porém, como ele fica verificando o if a "todo instante" a animação nem chega a ser chamada (estou fazendo ela com duração de 7 segundos, sendo que tem um "fade in" até mostrar toda a mensagem) e ele ja está querendo chamar de novo pois a condição do If está sendo exercida.Pokedlg escreveu:Aaa entendi é uma nova dificuldade no jogo, as "waves", ok. Você já tentou chamar este Void no Update?Ricardito escreveu:O jogo que eu estou fazendo é um Tower Defense, essa onda número significa qual "wave" do Tower defense se encontra. O jogo que eu estou fazendo é mais para o lado educativo, então em algumas "waves" específicas, quero mostrar algumas mensagens de incentivo tipo: "vamos lá, você ja esta quase no final" e coisas do gênero.Pokedlg escreveu:O que essa variavel ondaNumero significa?
Essa ondaNumero é um vetor de n posições, que eu defino na Unity a quantidade de waves que quero ter em determinado nível.
Ja testei com o Debug.Log que ele está entrando neste If, porém com a animação não consegui fazer funcionar.
Teste que eu fiz em um "wave" apenas ele chegou a chamar o If cerca de 2000x, aí precisei fazer uma função separada para fazer esse teste para saber em qual wave se encontrava o jogo.
- Código:
[size=14]void Update () {
if(ondaNumero == 2) {
Teste();
}
}
void Teste() {
anima1.Play("AnimacaoTexto1");
Debug.Log("onda 2");
}
}[/size]
Tenta assim
'Text' AnimationEvent has no function name specified!
Uma duvida que me surgiu é a seguinte: Como eu quero esta animação apenas em algumas waves, eu inicio com o Animator no objeto desativado certo? E o objeto em si, que é um text, começo com ele ativado ou desativado?
Ricardito- Membro
- PONTOS : 1729
REPUTAÇÃO : 2
Respeito as regras :
Re: Animação em um If
Olá, to vendo um erro ai... a animação está sendo chamada sim, porém ela é chamada novamente sem mesmo sair do primeiro frame da animação, ficando travada.
Então a solução é chamá-la apenas uma vez, vc pode fazer usando uma bool.
Posso estar errado, mas é mais uma alternariva pra vc poder testar.
Até o/
Então a solução é chamá-la apenas uma vez, vc pode fazer usando uma bool.
Posso estar errado, mas é mais uma alternariva pra vc poder testar.
Até o/
Nalfam- MembroAvançado
- PONTOS : 2435
REPUTAÇÃO : 32
Áreas de atuação : Unity
Respeito as regras :
Re: Animação em um If
Certo! Eu sou novo na Unity, por assim dizer, esse é meu primeiro jogo "completo", então estou seguindo alguns tutoriais e coisas do gênero. Teria como me ensinar/dar algumas dicas de como fazer isso?Nalfam escreveu:Olá, to vendo um erro ai... a animação está sendo chamada sim, porém ela é chamada novamente sem mesmo sair do primeiro frame da animação, ficando travada.
Então a solução é chamá-la apenas uma vez, vc pode fazer usando uma bool.
Posso estar errado, mas é mais uma alternariva pra vc poder testar.
Até o/
Desde já, agradeço! Abraços!
Ricardito- Membro
- PONTOS : 1729
REPUTAÇÃO : 2
Respeito as regras :
Re: Animação em um If
blz...Ricardito escreveu:Certo! Eu sou novo na Unity, por assim dizer, esse é meu primeiro jogo "completo", então estou seguindo alguns tutoriais e coisas do gênero. Teria como me ensinar/dar algumas dicas de como fazer isso?Nalfam escreveu:Olá, to vendo um erro ai... a animação está sendo chamada sim, porém ela é chamada novamente sem mesmo sair do primeiro frame da animação, ficando travada.
Então a solução é chamá-la apenas uma vez, vc pode fazer usando uma bool.
Posso estar errado, mas é mais uma alternariva pra vc poder testar.
Até o/
Desde já, agradeço! Abraços!
vc ainda está usando esse script?
- Código:
void Update () {
if(ondaNumero == 2) {
Teste();
}
}
void Teste() {
anima1.Play("AnimacaoTexto1");
Debug.Log("onda 2");
}
}
se for, vc pode fazer o seguinte...
declare no início do script um booleano (que são variáveis q podem ter valores "false" ou "true")...
Desta forma:
- Código:
private bool chaveAnimation;
todo booleano terá inicialmente o valor "false", então agora vc adiciona uma condição "if" dentro do update usando este bool.
Ficará desta forma:
- Código:
void Update () {
if(ondaNumero == 2) {
Teste();
}
}
void Teste() {
if(chaveAnimation == false){
anima1.Play("AnimacaoTexto1");
Debug.Log("onda 2");
chaveAnimation = true; //aqui irá impedir a repetição da animação, mesmo a função "Teste()" sendo chamada toda hora no "update"
}
}
}
Nem precisa da função "Teste()", vc pode iniciar a animação direto no update, assim:
- Código:
void Update () {
if(ondaNumero == 2) {
if(chaveAnimation == false){
anima1.Play("AnimacaoTexto1");
Debug.Log("onda 2");
chaveAnimation = true; //aqui irá impedir a repetição da animação
}
}
}
}
O Debug.Log vai ser útil pra vc saber se está dando certo =]
Espero q dê certo o/
Nalfam- MembroAvançado
- PONTOS : 2435
REPUTAÇÃO : 32
Áreas de atuação : Unity
Respeito as regras :
Re: Animação em um If
Boa noite! Então, eu testei das duas maneiras possíveis e cara, não rolou :/Nalfam escreveu:blz...Ricardito escreveu:Certo! Eu sou novo na Unity, por assim dizer, esse é meu primeiro jogo "completo", então estou seguindo alguns tutoriais e coisas do gênero. Teria como me ensinar/dar algumas dicas de como fazer isso?Nalfam escreveu:Olá, to vendo um erro ai... a animação está sendo chamada sim, porém ela é chamada novamente sem mesmo sair do primeiro frame da animação, ficando travada.
Então a solução é chamá-la apenas uma vez, vc pode fazer usando uma bool.
Posso estar errado, mas é mais uma alternariva pra vc poder testar.
Até o/
Desde já, agradeço! Abraços!
vc ainda está usando esse script?
- Código:
void Update () {
if(ondaNumero == 2) {
Teste();
}
}
void Teste() {
anima1.Play("AnimacaoTexto1");
Debug.Log("onda 2");
}
}
se for, vc pode fazer o seguinte...
declare no início do script um booleano (que são variáveis q podem ter valores "false" ou "true")...
Desta forma:
- Código:
private bool chaveAnimation;
todo booleano terá inicialmente o valor "false", então agora vc adiciona uma condição "if" dentro do update usando este bool.
Ficará desta forma:
- Código:
void Update () {
if(ondaNumero == 2) {
Teste();
}
}
void Teste() {
if(chaveAnimation == false){
anima1.Play("AnimacaoTexto1");
Debug.Log("onda 2");
chaveAnimation = true; //aqui irá impedir a repetição da animação, mesmo a função "Teste()" sendo chamada toda hora no "update"
}
}
}
Nem precisa da função "Teste()", vc pode iniciar a animação direto no update, assim:
- Código:
void Update () {
if(ondaNumero == 2) {
if(chaveAnimation == false){
anima1.Play("AnimacaoTexto1");
Debug.Log("onda 2");
chaveAnimation = true; //aqui irá impedir a repetição da animação
}
}
}
}
O Debug.Log vai ser útil pra vc saber se está dando certo =]
Espero q dê certo o/
A animação ***** no começo da scene, e após isso, quando chega a ondaNumero == 2, apenas o Debug.Log("onda 2"); é executado, ele não executa a animação novamente.
Não sei se pode ser algo na minha Inspector que estou fazendo errado, porém por lá acredito que esteja tudo certo.
Segue o link para as prints da minha Inspector e Hierarchy:
https://1drv.ms/u/s!Al0A1-V0YrPi8l3AD-iQzpgknpnH?e=PfaFe7
Estou começando a ficar sem opções de como resolver esse problema já :/
Desde já,
Agradeço!
Ricardito- Membro
- PONTOS : 1729
REPUTAÇÃO : 2
Respeito as regras :
Re: Animação em um If
Então... essa animação que roda da primeira vez é a mesma que vc quer rodar novamente?
Não sei até q ponto vc sabe, talvez já saiba criar uma animação sem problemas e só agora deu esse bug.
Mas, vou colocar alguns prints aqui, talvez te ajude. E talvez vc pode controlar a animação apenas "ativando" / "desativando" o animator. Isso se tiver apenas uma animação.
Se essa parte de ativar/desativar te interessou, vc pode substituir o comando "anima1.Play("AnimacaoTexto1")" por "anima1.enable = true" para ligar OU "anima1.enable = false" para desligar o "Animator"
Espero ter ajudado srsr
Mas não desista! Uma hora vc consegue =]
Não sei até q ponto vc sabe, talvez já saiba criar uma animação sem problemas e só agora deu esse bug.
Mas, vou colocar alguns prints aqui, talvez te ajude. E talvez vc pode controlar a animação apenas "ativando" / "desativando" o animator. Isso se tiver apenas uma animação.
- print01:
Ao selecionar um texto na hierarquia, vou na aba animation e clico em "Create".
- print02:
Então é gerado no meu inspector um "Animator" automaticamente. E na aba "Animation" eu adiciono algumas propriedades que quero modificar de acordo que vai passando os frames.
*Obs. vc pode dar um play/stop na animação ativando/desativando esse Animator* ->talvez sirva pra vc
- print03:
Escolhi o "rotation" para modificar com o passar dos frames.
- Gif de exemplo:
Se essa parte de ativar/desativar te interessou, vc pode substituir o comando "anima1.Play("AnimacaoTexto1")" por "anima1.enable = true" para ligar OU "anima1.enable = false" para desligar o "Animator"
Espero ter ajudado srsr
Mas não desista! Uma hora vc consegue =]
Nalfam- MembroAvançado
- PONTOS : 2435
REPUTAÇÃO : 32
Áreas de atuação : Unity
Respeito as regras :
Re: Animação em um If
Cara, eu não tenho palavras pra agradecer a tua paciência e compreensão do meu problema. Muitíssimo obrigado, do fundo do meu coração, muito obrigado de verdade.Nalfam escreveu:Então... essa animação que roda da primeira vez é a mesma que vc quer rodar novamente?
Não sei até q ponto vc sabe, talvez já saiba criar uma animação sem problemas e só agora deu esse bug.
Mas, vou colocar alguns prints aqui, talvez te ajude. E talvez vc pode controlar a animação apenas "ativando" / "desativando" o animator. Isso se tiver apenas uma animação.
- print01:
Ao selecionar um texto na hierarquia, vou na aba animation e clico em "Create".
- print02:
Então é gerado no meu inspector um "Animator" automaticamente. E na aba "Animation" eu adiciono algumas propriedades que quero modificar de acordo que vai passando os frames.
*Obs. vc pode dar um play/stop na animação ativando/desativando esse Animator* ->talvez sirva pra vc
- print03:
Escolhi o "rotation" para modificar com o passar dos frames.
- Gif de exemplo:
Se essa parte de ativar/desativar te interessou, vc pode substituir o comando "anima1.Play("AnimacaoTexto1")" por "anima1.enable = true" para ligar OU "anima1.enable = false" para desligar o "Animator"
Espero ter ajudado srsr
Mas não desista! Uma hora vc consegue =]
Estou tendo mais um probleminha apenas, que estou conseguindo chamar a animação apenas uma vez, na segunda vez que tento chamá-la ela não é chamada. Meu código está da seguinte forma:
- Código:
...
private bool chaveAnima;
private void Start() {
anima1.enabled = false;
}
void Update() {
if (ondaNumero == 2) {
if (chaveAnima == false) {
anima1.enabled = true;
Debug.Log("onda 2");
chaveAnima = true; //aqui irá impedir a repetição da animação
}
}
if(ondaNumero == 3) {
anima1.enabled = false;
chaveAnima = false;
}
if (ondaNumero == 4) {
if (chaveAnima == false) {
anima1.enabled = true;
Debug.Log("onda 4");
chaveAnima = true; //aqui irá impedir a repetição da animação
}
}
...
Futuramente a minha ideia é chamar 3 ou 4 animações com mensagens "diferentes" para algumas waves, para isso eu apenas troco o "anima1.enable..." por "anima2.enable..." por exemplo?
Desde já,
Agradeço demais!
Muito obrigado!
Ricardito- Membro
- PONTOS : 1729
REPUTAÇÃO : 2
Respeito as regras :
Re: Animação em um If
Opa! tem nada que agradecer não srsr todo mundo aprende aki.
Se vc vai chamar em cada onda um texto com frases diferentes a única coisa que vc vai precisar trocar será as frases mesmo, até o gameObject do texto poderá ser o mesmo.
Tem muitos jeitos de vc fazer isso. E o "Animator" mesmo sendo mais um jeito de fazer, talvez não seja mto adequado já q ele é usado para coisas mais dinâmicas como controlar várias animações de um personagem fazendo transições entre si.
Um outro jeito é usando uma corrotina, e por script mesmo vc modifica as variáveis do texto como: posição, rotação, cor, tempo de exibição, etc.
E talvez o "gatilho" pra exibir o texto não precisa ficar no "update", já que o update é chamado a cada frame (ou quase), e o texto imagino eu que será exibido ao apertar um botão, ou quando a vida acabe, etc. E é nesse "apertar um botão" que talvez poderá ser chamado o texto uma única vez por meio da corrotina.
A gnt pode se falar pelo discord? Te mando por pm. Acho q será mais fácil por lá.
Se vc vai chamar em cada onda um texto com frases diferentes a única coisa que vc vai precisar trocar será as frases mesmo, até o gameObject do texto poderá ser o mesmo.
Tem muitos jeitos de vc fazer isso. E o "Animator" mesmo sendo mais um jeito de fazer, talvez não seja mto adequado já q ele é usado para coisas mais dinâmicas como controlar várias animações de um personagem fazendo transições entre si.
Um outro jeito é usando uma corrotina, e por script mesmo vc modifica as variáveis do texto como: posição, rotação, cor, tempo de exibição, etc.
E talvez o "gatilho" pra exibir o texto não precisa ficar no "update", já que o update é chamado a cada frame (ou quase), e o texto imagino eu que será exibido ao apertar um botão, ou quando a vida acabe, etc. E é nesse "apertar um botão" que talvez poderá ser chamado o texto uma única vez por meio da corrotina.
A gnt pode se falar pelo discord? Te mando por pm. Acho q será mais fácil por lá.
Nalfam- MembroAvançado
- PONTOS : 2435
REPUTAÇÃO : 32
Áreas de atuação : Unity
Respeito as regras :
Tópicos semelhantes
» Gostaria de fazer a animação do arco seguir animação do personagem
» Animação não reproduz e só fica parado em uma animação
» ANIMAÇÃO
» Animação
» Animação
» Animação não reproduz e só fica parado em uma animação
» ANIMAÇÃO
» Animação
» Animação
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos