SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
MOUSE NA TELA
Não consigo destruir o objeto!!!
Resolution Screens Calculate
Saiu o primeiro teaser do meu novo jogo Inferno Verde
sistema de perguntas aleatórias de maneira que elas só se repetissem ao se passar todas
(Duvida) Salvando array com playerprefs
OS MAIORES JOGOS JÁ CRIADOS
Duvida a respeito da pesquisa do app na google play
[TUTORIAL] Mira que fica se movendo (ocilando,tremendo,etc)
[Formação de Equipe] Jogo de Luta Livre/Telecatch
[RESOLVIDO] Verificar se todos os objetos add em um array de gameobject estão ativos
Como fazer game responsivo
Erro de Luz
Uma Ideia Movimento
Dúvida Realidade aumentada
Qual versão do JDK, NDK E SDK o Unity Hub recomenda para Unity 2019.2.12f1 (64-bit)?
A pasta editor não esta na pasta Assets no unity 2018
Imagem aparecer na tela ao colididir
Pode me ajudar com o Simple move
Morte do Player
Como fazer o personagem me atacar e fazer o personagem morrer??
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[RESOLVIDO] Troca de câmeras
O que acrescentar no script para fazer o personagem morrer??
[EM DESENVOLVIMENTO] Top Island
ME TIREM UMA DUVIDA DO ADMOB ANTES DE PUBLICAR O GAME
[RESOLVIDO] Terrain
Meu game para Android " As aventuras de Steff " finalizado, ou quase!
[DUVIDA]como saber se um jogo esta rodando nativamente 1080p
Diferenca entre bundle google play e split
Ajuda com spaw
Projeto de feira
historia para um jogo
[Projeto] Omega Racers - Steam Acesso antecipado
[RESOLVIDO] Erro build Android (NDK)
Erro ao dar play Unity
Transparência de objeto através do color.alfa
chamando animaçao depois de um tempo
[DUVIDA] SELECIONAR APP EM SEGUNDO PLANO NO CELULAR
App feito na Unity - Biblia Sagrada
[RESOLVIDO] Erro invisível na aba console (ALGUÉM ME AJUDA?)
DUVIDA IMPORTANTE SOBRE O EXPORT COM A OPCAO SPLIT NA UNITY
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
[TUTORIAL] FPS Controller com corpo completo!
PROBLEMA NO BUILD UNITY ANDROID
Estou com problemas com o NavMeshAgent
Diálogos e Linguagens
suporte para g29
AJUDA COM EXPORTACAO "SPLIT" NA UNITY
Duvida(tamanho de objetos)
Erro no Unity 2019
[RESOLVIDO] Física ser calculada mais rápida
Física do Caminhão e Trailer
[RESOLVIDO] Duvida com FadeIn e FadeOut quando o tempo do jogo acaba
Bug Partículas
Problema com Dano ao Inimigo
Video Player travando no apk do jogo
Como fazer o personagem não conseguir flipar enquanto estou atacando? (Unity 2D)
como resolve esse erro?
[PHOTON] Algumas animações não sincronizam!
SER INSERIDA EM LUGARES RANDÔMICOS!
MACHADO ENCOSTAR NA ÁRVORE
[RESOLVIDO] como respawnar um objeto na minha frente?
Como criar assinatura mensal em jogo na play console
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
movendo personagem com rb duvida
Como ignorar um erro? fazer ele parar de aparecer no console?
Simulador de policia [C#] [Jogo em andamento] [Procurando Equipe]
Problema ao iniciar uma array statica
Arquivos com Casa, arvores, Gramas, Objetos3d Etc...
Ajuda com Raycast de hit para um objeto individual citado
Eu preciso de ajuda para um impulso de pinball
Problemas com movimentação do personagem [AJUDA]
Limite de camera em um jogo metroidvania
AJUDA COM ADMOB
Meu primeiro jogo + Link para download.
duvida player quicando ao descer desnivel
DUVIDA SOBRE - Target Android API
Mudar a Descrição do Elemment Array no Inspector Dinamicamente
[RESOLVIDO] Ajuda com States
Duvida com Script de AI inteligente
UNITY NAO APARECE PROJETOS
Criar Apk Android 64 .aab
Animaçoes
Aplicar física em animação.
Como mudar animação do sprite automaticamente?
PLAYER NAO MOVER ENQUANTO ESTA ABAIXADO
[RESOLVIDO] Detectar quando a animação do animator acaba para dar dano no player
Problema pra compilar jogo para Android 6.0
Unity2D- Fazer 2 inimigos nascerem depois entrar em um collider?
CHUVA AUTOMÁTICA
ME AJUDEM POR FAVORR!!
ATUALIZAR OU NAO O PROJETO?
Como ativar a realidade virtual em tempo de execucao
[TUTORIAL] Unity + PHP + Mysql (com PDO)
Dúvida sobre Realidade Aumentada
Copyright da Assetstore
opnião sobre sistema de carro que é preciso ligar o motor
Imagem cortada na diagonal em apneas dosi aparelhos
Ontem à(s) 11:13 pm
Ontem à(s) 10:55 pm
Ontem à(s) 10:48 pm
Ontem à(s) 5:56 pm
Ontem à(s) 4:13 pm
Ontem à(s) 4:08 pm
Ontem à(s) 4:04 pm
Ontem à(s) 3:01 pm
Ontem à(s) 2:42 pm
Ontem à(s) 1:59 pm
Ontem à(s) 10:37 am
Ontem à(s) 4:37 am
Ontem à(s) 12:11 am
Ontem à(s) 12:07 am
Dom Nov 17, 2019 11:53 pm
Dom Nov 17, 2019 9:11 pm
Dom Nov 17, 2019 8:45 pm
Dom Nov 17, 2019 2:16 pm
Dom Nov 17, 2019 1:47 pm
Dom Nov 17, 2019 1:41 pm
Dom Nov 17, 2019 1:38 pm
Dom Nov 17, 2019 5:27 am
Sab Nov 16, 2019 9:40 pm
Sab Nov 16, 2019 8:59 pm
Sab Nov 16, 2019 2:46 am
Sex Nov 15, 2019 10:35 pm
Sex Nov 15, 2019 8:51 pm
Sex Nov 15, 2019 3:49 pm
Qui Nov 14, 2019 1:20 pm
Qui Nov 14, 2019 10:06 am
Qua Nov 13, 2019 7:26 pm
Qua Nov 13, 2019 3:50 pm
Qua Nov 13, 2019 3:40 pm
Qua Nov 13, 2019 12:36 pm
Qua Nov 13, 2019 8:39 am
Qua Nov 13, 2019 1:57 am
Ter Nov 12, 2019 11:48 pm
Ter Nov 12, 2019 7:41 pm
Ter Nov 12, 2019 7:35 pm
Ter Nov 12, 2019 5:28 pm
Ter Nov 12, 2019 12:52 pm
Ter Nov 12, 2019 10:57 am
Ter Nov 12, 2019 12:15 am
Seg Nov 11, 2019 11:13 pm
Seg Nov 11, 2019 3:37 pm
Seg Nov 11, 2019 2:29 pm
Seg Nov 11, 2019 3:03 am
Dom Nov 10, 2019 8:37 pm
Dom Nov 10, 2019 8:30 pm
Dom Nov 10, 2019 7:30 pm
Dom Nov 10, 2019 7:22 pm
Dom Nov 10, 2019 11:04 am
Dom Nov 10, 2019 10:23 am
Sab Nov 09, 2019 11:18 pm
Sab Nov 09, 2019 11:16 pm
Sab Nov 09, 2019 11:11 pm
Sab Nov 09, 2019 11:02 pm
Sab Nov 09, 2019 10:56 pm
Sab Nov 09, 2019 10:32 pm
Sab Nov 09, 2019 8:06 pm
Sab Nov 09, 2019 12:29 pm
Sex Nov 08, 2019 7:26 pm
Sex Nov 08, 2019 6:53 pm
Sex Nov 08, 2019 5:09 pm
Sex Nov 08, 2019 12:37 pm
Sex Nov 08, 2019 11:51 am
Sex Nov 08, 2019 7:17 am
Sex Nov 08, 2019 1:25 am
Sex Nov 08, 2019 12:00 am
Qui Nov 07, 2019 10:29 pm
Qui Nov 07, 2019 7:06 pm
Qui Nov 07, 2019 2:53 am
Qui Nov 07, 2019 12:01 am
Qua Nov 06, 2019 8:41 pm
Qua Nov 06, 2019 8:12 pm
Qua Nov 06, 2019 8:01 pm
Qua Nov 06, 2019 2:10 pm
Qua Nov 06, 2019 10:17 am
Qua Nov 06, 2019 3:13 am
Ter Nov 05, 2019 10:23 pm
Ter Nov 05, 2019 9:54 pm
Ter Nov 05, 2019 9:15 pm
Ter Nov 05, 2019 7:48 pm
Ter Nov 05, 2019 7:36 pm
Ter Nov 05, 2019 7:29 pm
Ter Nov 05, 2019 5:35 pm
Ter Nov 05, 2019 2:48 pm
Ter Nov 05, 2019 1:36 pm
Ter Nov 05, 2019 1:16 pm
Ter Nov 05, 2019 2:39 am
Seg Nov 04, 2019 9:14 pm
Seg Nov 04, 2019 8:45 pm
Seg Nov 04, 2019 2:29 pm
Dom Nov 03, 2019 10:09 pm
Dom Nov 03, 2019 3:14 pm
Dom Nov 03, 2019 1:49 pm
Dom Nov 03, 2019 8:42 am
Sab Nov 02, 2019 11:07 pm
Sex Nov 01, 2019 2:13 pm
leonardolopes
Edivandro2706
Fagner
marlon33
eduardonog30
poyser
RafaelSquid1
Carbon12 Youth
Édipo
lusji2011
joffersoju
marlon33
FabioDev
FabioDev
Fagner
Fagner
Fagner
PauloFR
PauloFR
PauloFR
PauloFR
MarcosSchultz
leonardolopes
Edivandro2706
ScorpionG4mer
NyanHeavyBR
richerd
SergioDB
guimaraf
gtcmcsgo
RafaelSquid1
porion
RafaelSquid1
guimaraf
numb123
IOOI
joffersoju
teyroberto1
luizrbizzio
John Wesley
verme1311
gtcmcsgo
Blaker
leonardolopes
luizrbizzio
RafaelSquid1
RafaelSquid1
williangamesbr4021
gtcmcsgo
poyser
RafaelSquid1
NKKF
guimaraf
Lester3422
Magnatah
Magnatah
Magnatah
Magnatah
Magnatah
Diguinho
Fagner
leonardolopes
Valakinhas
eduardonog30
dstaroski
Valakinhas
Valakinhas
RafaelSquid1
poyser
RafaelSquid1
Valakinhas
MayLeone
luizrbizzio
Hamassfall
gtcmcsgo
MarceloYBP
Édipo
gtcmcsgo
conceptfac
Hamassfall
MayLeone
Alerson Software
Fagner
Magnatah
Magnatah
MayLeone
pablo77
CyberPh4ntom
eduardonog30
MayLeone
leonardolopes
Fagner
gtcmcsgo
matheusgfgl
Diguinho
Fagner
Tegh
nvndx
eduardonog30

[RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Ir em baixo

Resolvido [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por Hamassfall em Seg Out 28, 2019 5:26 pm

Eu estou tentando fazer o personagem rolar apenas após a animação de rolagem acabar, mas como o script está agora, o impulso da rolagem acontece toda a vez q eu aperto o botão, não importa se eu estou no meio da animação ou no fim. Como eu faço para resolver isso?(A função está sendo chamada na Update):

Código:
void HandleRoll()
    {
        ani.SetBool("isRolling", canRoll);

        if (facingRight)
        {
            direction = 2;
        }
        if (!facingRight)
        {
            direction = 1;
        }

        if (direction == 1 && Input.GetKeyDown(KeyCode.Mouse1) && isGrounded)
        {
            canRoll = true;
            rb.AddForce(Vector2.left * rollImpulse);
        }else if(direction == 2 && Input.GetKeyDown(KeyCode.Mouse1) && isGrounded)
        {
            canRoll = true;
            rb.AddForce(Vector2.right * rollImpulse);
        }
    }

Hamassfall
Avançado
Avançado

PONTOS : 218
REPUTAÇÃO : 5
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por MayLeone em Seg Out 28, 2019 5:44 pm

Você pode verificar se a animação terminou fazendo o seguinte:

Código:
private Animator anim;
private bool animationHasFinished;

void Start(){
anim = GetComponent<Animator>();
}

void Update(){
// Verifica se a animação parou:
animationHasFinished = anim.GetCurrentAnimatorStateInfo(0).IsName("Nome da animação");
}

E então no seu if você pode colocar assim:

Código:
if (animationHasFinished){
if (direction == 1 && Input.GetKeyDown(KeyCode.Mouse1) && isGrounded)
       {
           canRoll = true;
           rb.AddForce(Vector2.left * rollImpulse);
       }else if(direction == 2 && Input.GetKeyDown(KeyCode.Mouse1) && isGrounded)
       {
           canRoll = true;
           rb.AddForce(Vector2.right * rollImpulse);
       }
}


Sendo o "0" no comando do StateInfo o layer da sua animação.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1350
REPUTAÇÃO : 353
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por Hamassfall em Seg Out 28, 2019 5:50 pm

@MayLeone escreveu:Você pode verificar se a animação terminou fazendo o seguinte:

Código:
private Animator anim;
private bool animationHasFinished;

void Start(){
anim = GetComponent<Animator>();
}

void Update(){
// Verifica se a animação parou:
animationHasFinished = anim.GetCurrentAnimatorStateInfo(0).IsName("Nome da animação");
}

E então no seu if você pode colocar assim:

Código:
if (animationHasFinished){
if (direction == 1 && Input.GetKeyDown(KeyCode.Mouse1) && isGrounded)
       {
           canRoll = true;
           rb.AddForce(Vector2.left * rollImpulse);
       }else if(direction == 2 && Input.GetKeyDown(KeyCode.Mouse1) && isGrounded)
       {
           canRoll = true;
           rb.AddForce(Vector2.right * rollImpulse);
       }
}


Sendo o "0" no comando do StateInfo o layer da sua animação.
Qual seria a diferença entre entre o GetCurrentAnimatorClipInfo e o GetCurrentAnimatorStateInfo?

Hamassfall
Avançado
Avançado

PONTOS : 218
REPUTAÇÃO : 5
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por Hamassfall em Seg Out 28, 2019 6:11 pm

@Hamassfall escreveu:
@MayLeone escreveu:Você pode verificar se a animação terminou fazendo o seguinte:

Código:
private Animator anim;
private bool animationHasFinished;

void Start(){
anim = GetComponent<Animator>();
}

void Update(){
// Verifica se a animação parou:
animationHasFinished = anim.GetCurrentAnimatorStateInfo(0).IsName("Nome da animação");
}

E então no seu if você pode colocar assim:

Código:
if (animationHasFinished){
if (direction == 1 && Input.GetKeyDown(KeyCode.Mouse1) && isGrounded)
       {
           canRoll = true;
           rb.AddForce(Vector2.left * rollImpulse);
       }else if(direction == 2 && Input.GetKeyDown(KeyCode.Mouse1) && isGrounded)
       {
           canRoll = true;
           rb.AddForce(Vector2.right * rollImpulse);
       }
}


Sendo o "0" no comando do StateInfo o layer da sua animação.
Qual seria a diferença entre entre o GetCurrentAnimatorClipInfo e o GetCurrentAnimatorStateInfo?
Isso não ta funcionando pq a animação nem chega a rodar por estar dentro dessa condição, a animação só roda quando a bool canRoll é true, e a canRoll nunca fica true por estar dentro da condição

Hamassfall
Avançado
Avançado

PONTOS : 218
REPUTAÇÃO : 5
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por MayLeone em Seg Out 28, 2019 10:07 pm

Hmmmm...
Tente simplificar assim:

Código:
var dir = direction == 1 ? Vector2.left : Vector2.right;

if(Input.GetKeyDown(KeyCode.Mouse1) && isGrounded){
canRoll = true;

if(animationHasFinished)
rb.AddForce(dir*rollImpulse);
}
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1350
REPUTAÇÃO : 353
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por artplayer em Ter Out 29, 2019 11:06 am

@Hamassfall escreveu:Eu estou tentando fazer o personagem rolar apenas após a animação de rolagem acabar, mas como o script está agora, o impulso da rolagem acontece toda a vez q eu aperto o botão, não importa se eu estou no meio da animação ou no fim. Como eu faço para resolver isso?(A função está sendo chamada na Update):

Foi mal pela intromissão, mas não seria mais viável usar um animation event na animação setando a bool? Por exemplo, no início da animação seta canRoll como falso, e no final da animação como verdadeiro.
artplayer
artplayer
Instrutor

Masculino PONTOS : 2233
REPUTAÇÃO : 386
Idade : 35
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? Aad8pUi

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por MayLeone em Ter Out 29, 2019 5:25 pm

Não é intromissão de forma alguma, realmente outra alternativa seria gerenciar a variável através de events key no animator também.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1350
REPUTAÇÃO : 353
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por Hamassfall em Ter Out 29, 2019 8:27 pm

@artplayer escreveu:
@Hamassfall escreveu:Eu estou tentando fazer o personagem rolar apenas após a animação de rolagem acabar, mas como o script está agora, o impulso da rolagem acontece toda a vez q eu aperto o botão, não importa se eu estou no meio da animação ou no fim. Como eu faço para resolver isso?(A função está sendo chamada na Update):

Foi mal pela intromissão, mas não seria mais viável usar um animation event na animação setando a bool? Por exemplo, no início da animação seta canRoll como falso, e no final da animação como verdadeiro.
O problema é q fazendo dessa forma toda a vez q eu apertar o botão ele vai dar o impulso, não importando se a animação ainda está ocorrendo, eu preciso de um jeito q o impulso não funcione se a animação estiver ocorrendo

Hamassfall
Avançado
Avançado

PONTOS : 218
REPUTAÇÃO : 5
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por MayLeone em Ter Out 29, 2019 9:40 pm

@Hamassfall escreveu:
@artplayer escreveu:
@Hamassfall escreveu:Eu estou tentando fazer o personagem rolar apenas após a animação de rolagem acabar, mas como o script está agora, o impulso da rolagem acontece toda a vez q eu aperto o botão, não importa se eu estou no meio da animação ou no fim. Como eu faço para resolver isso?(A função está sendo chamada na Update):

Foi mal pela intromissão, mas não seria mais viável usar um animation event na animação setando a bool? Por exemplo, no início da animação seta canRoll como falso, e no final da animação como verdadeiro.
O problema é q fazendo dessa forma toda a vez q eu apertar o botão ele vai dar o impulso, não importando se a animação ainda está ocorrendo, eu preciso de um jeito q o impulso não funcione se a animação estiver ocorrendo
A sugestão que eu dei não funcionou?
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1350
REPUTAÇÃO : 353
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por Hamassfall em Ter Out 29, 2019 9:52 pm

@MayLeone escreveu:
@Hamassfall escreveu:
@artplayer escreveu:
@Hamassfall escreveu:Eu estou tentando fazer o personagem rolar apenas após a animação de rolagem acabar, mas como o script está agora, o impulso da rolagem acontece toda a vez q eu aperto o botão, não importa se eu estou no meio da animação ou no fim. Como eu faço para resolver isso?(A função está sendo chamada na Update):

Foi mal pela intromissão, mas não seria mais viável usar um animation event na animação setando a bool? Por exemplo, no início da animação seta canRoll como falso, e no final da animação como verdadeiro.
O problema é q fazendo dessa forma toda a vez q eu apertar o botão ele vai dar o impulso, não importando se a animação ainda está ocorrendo, eu preciso de um jeito q o impulso não funcione se a animação estiver ocorrendo
A sugestão que eu dei não funcionou?
Não :( , eu continuo conseguindo dar o impulso enquanto a animação ta rolando

Hamassfall
Avançado
Avançado

PONTOS : 218
REPUTAÇÃO : 5
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por MayLeone em Qua Out 30, 2019 1:21 am

Faz assim, coloca no seu script esse método:

Código:
public void AllowImpulse(bool theValue){
canImpulse = theValue;
}

Crie a variável canImpulse e inicie ela em true.

Agora na parte que permite dar o impulso coloca assim:

Código:
if(canImpulse)
rb.AddForce(dir*rollImpulse)

Abra o animator do objeto e logo no primeiro frame da animação, acima da linha do tempo clique com o lado direito do mouse e vá em "Add Event Key", selecione o seu script e o método "AllowImpulse" passando como valor false, ou seja, agora não pode dar impulso porque a animação começou.
Já no último frame da animação crie um novo Event Key com esse método e agora passe o valor true, ou seja, agora pode dar impulso porque a animação acabou.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1350
REPUTAÇÃO : 353
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por Hamassfall em Qua Out 30, 2019 10:31 am

@MayLeone escreveu:Faz assim, coloca no seu script esse método:

Código:
public void AllowImpulse(bool theValue){
canImpulse = theValue;
}

Crie a variável canImpulse e inicie ela em true.

Agora na parte que permite dar o impulso coloca assim:

Código:
if(canImpulse)
rb.AddForce(dir*rollImpulse)

Abra o animator do objeto e logo no primeiro frame da animação, acima da linha do tempo clique com o lado direito do mouse e vá em "Add Event Key", selecione o seu script e o método "AllowImpulse" passando como valor false, ou seja, agora não pode dar impulso porque a animação começou.
Já no último frame da animação crie um novo Event Key com esse método e agora passe o valor true, ou seja, agora pode dar impulso porque a animação acabou.
Por algum motivo as minhas funções privadas estão aparecendo na hora de selecionar a função no evento , mas a função publica AllowImpulse não e não adianta mudar ela para private q ela continua não aparecendo.Isso não faz sentido nenhum, certo?

Hamassfall
Avançado
Avançado

PONTOS : 218
REPUTAÇÃO : 5
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por Hamassfall em Qua Out 30, 2019 8:43 pm

@Hamassfall escreveu:
@MayLeone escreveu:Faz assim, coloca no seu script esse método:

Código:
public void AllowImpulse(bool theValue){
canImpulse = theValue;
}

Crie a variável canImpulse e inicie ela em true.

Agora na parte que permite dar o impulso coloca assim:

Código:
if(canImpulse)
rb.AddForce(dir*rollImpulse)

Abra o animator do objeto e logo no primeiro frame da animação, acima da linha do tempo clique com o lado direito do mouse e vá em "Add Event Key", selecione o seu script e o método "AllowImpulse" passando como valor false, ou seja, agora não pode dar impulso porque a animação começou.
Já no último frame da animação crie um novo Event Key com esse método e agora passe o valor true, ou seja, agora pode dar impulso porque a animação acabou.
Por algum motivo as minhas funções privadas estão aparecendo na hora de selecionar a função no evento , mas a função publica AllowImpulse não e não adianta mudar ela para private q ela continua não aparecendo.Isso não faz sentido nenhum, certo?
Acabei de perceber q se a função não tiver um parametro ela aparece normalmente, mas quando eu passo um parametro para ela, o inspector aponta q a função não é suportada(Function Not Supported). É realmente possivel passar um parametro para uma função e adiciona-la em um evento?

Hamassfall
Avançado
Avançado

PONTOS : 218
REPUTAÇÃO : 5
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? WvDYdlf

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por MayLeone em Qua Out 30, 2019 8:50 pm

Pelo visto Event Key não aceita parâmetro booleano.
Então deixe o método assim:

Código:
public void AllowImpulse (){
canImpulse = true;
}

E crie outro método assim:

Código:
public void DenyImpulse(){
canImpulse = false;
}

Crie um Event Key no primeiro frame da animação chamando o DenyImpulse, e um outro Event Key no último frame chamando o AllowImpulse, creio que agora vai funcionar.
Lembre-se de declarar a variável "canImpulse" dentro da classe, não dentro da função
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1350
REPUTAÇÃO : 353
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?

Mensagem por Hamassfall em Qua Out 30, 2019 9:12 pm

@MayLeone escreveu:Pelo visto Event Key não aceita parâmetro booleano.
Então deixe o método assim:

Código:
public void AllowImpulse (){
canImpulse = true;
}

E crie outro método assim:

Código:
public void DenyImpulse(){
canImpulse = false;
}

Crie um Event Key no primeiro frame da animação chamando o DenyImpulse, e um outro Event Key no último frame chamando o AllowImpulse, creio que agora vai funcionar.
Lembre-se de declarar a variável "canImpulse" dentro da classe, não dentro da função
Está funcionando, muito obrigado!!!

Hamassfall
Avançado
Avançado

PONTOS : 218
REPUTAÇÃO : 5
Respeito as regras : [RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar? WvDYdlf

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum