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:
Vender jogo ou ideia para desenvolvedora
Problema com Global Ilumination Unity 2019
Objeto aparecer apenas uma Vez
Pegar GameObject do objeto clicado!
como resolvo esse erro?
Zoom da Câmera Orbital por Botões
Loja Virtual e moedas.
Selecionar Objeto Usando Outlined
Atualização Obrigatória
Punição ADMOB
Oque tem de errado nesse skript ele nao esta voltando a ficar off
Criar sprite multiplo de imagens de SVG no unity
duvida-refletir objeto na direçao q a camera olha
Como dividir 2 times de jogadores pvp online?
Qual o codigo pra quando eu precionar S por 3 segundos ativar uma funçao que eu escolherei
Trocar skin em personagem 2D
Como faz pra esse skript funcionar em uma regiao eu tinha o codigo pra fazer isso mas nao
Somar pontos quando matar um inimigo!!
Especificações do Celular
OnTrigger e OnColision deixa o jogo mais pesado?
GAME ONLINE UNITY
DOTS - ECS + JOBS + Burst!
Blender - Texture Paint Bugado
[RESOLVIDO] movimentação FPS COM ERRO
camera interativa
[RESOLVIDO] Nevoa de Guerra
Alterar apenas um Material do Mesh Renderer
Rotacionar player conforme rotação do celular
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Erro na hora de dar Build.
Dicas Para Cenário De Jogo De Terror
Sistema de Pulo está dando erro.
Duvida sobre mesh colider
Eu to usando este skript recentemente mas ele ta dando esses erros tem como ajudar
problema com script de pula pula
Desligar abate de distancia...
Criação de terreno para jogo comercial
sensibilidade do mouse
Prévia de atualização do meu jogo - Generic Shooter Game
Controles mobile 2d game Kit
criação de tabela comm filtro
Sistema de câmera - SnakeCam
[RESOLVIDO] Desativar texto não funciona
[RESOLVIDO] Erro com bala ...AJUDA
[TUTORIAL] ScrollBar para menus ou inventários
Formação de Equipe
Animação bugada com Legacy
[RESOLVIDO] SetActive não esta funcionando com condiçoes if
Dicas para organização de projeto
SOU MODELADOR SE TIVER ALGUEM PRECISANDO AI ME CONTATE
[TUTORIAL] Geração de níveis randômicos
dar play e spawn começar esta dando erro
movimentação por posição
nao consigo abrir projetos na unity
[RESOLVIDO] Problema com script de random na scale de um objeto
Falha no comando
[RESOLVIDO] Sistema de Replay
AJUDA COM MOVIMENTAÇAO DE ARMAS
[Asset] Brincando no SketchUp fiz uma casa
[RESOLVIDO] Como destruir um objeto com colisor?
[RESOLVIDO] Nome de Teclas
[TUTORIAL] Unity 3D - Sol realista (SunShafts) ->> 2020 funcionando
[TUTORIAL] Sistema de FPS com Corpo
Live dos jogos do fórum
[RESOLVIDO] Pausa dentro do jogo
[RESOLVIDO] Player correndo e animação quando estiver colidindo
App Demo e Pago
FPS de Corpo Inteiro!
[TUTORIAL] FPS Controller com corpo completo!
Como posso criar um sistema de pulo para esse script que determina a gravidade.
Como posso configurar o NetworkManagerHud ?
Fear - Modern House The Game [WINDOWS - ANDROID]
sketchUP
ERRO NO SCRIPT UM UNICO ERRO
A animação não está funcionando bem.
Como eu posso fazer um player estilo GTA e que tenha uma câmera 360 como o GTA?
Pseudo 2D e algumas outras duvidas.
alquem me recomenda uma versao do unity que tenha tudo e que funcione bem e nao trave
[TUTORIAL] Sistema de visão para inimigos baseado em angulos
Compilando para Android
TOUCH
MenuPausa__Pedido
Ideia de como REPRESENTAR VELOCIDADE NA TELA
Erro no isLocalPlayer - Alguém?
Alguém que desenhe sprite 2d ?
Animação de morte
Posso limitar o "Instantiate" para instanciar até uma quantidade X?
Erro na troca de script do personagem
Duvída em relação ao UI em interações com objetos
Movimento helix jump
QUERIA SABER QUAL CODIGO PARA DESATIVAR UMA CAMERA E PASSAR PARA OUTRA
@MarcosSchultz tem como me enviar so o skript sunshafts
[TUTORIAL] AI Enemy ( Jogos de terror )
[ SUN SHAFTS ] nao encontro ele em lugar nenhum, estou usando a ultima versao do unity
PEDIDO - queria um script para entrar em um veiculo
Efeito Suave Ao Virar a Câmera
Quanto tempo o Google Play leva para analisar o app/ jogo e publicar ?
Fazer inimigo acompanhando rotação do player2D
Adicionar +1 ao colidir com objeto
Hoje à(s) 5:14 am
Hoje à(s) 2:14 am
Hoje à(s) 12:43 am
Ontem à(s) 9:53 pm
Ontem à(s) 8:44 pm
Ontem à(s) 8:08 pm
Ontem à(s) 4:51 pm
Ontem à(s) 4:47 pm
Ontem à(s) 3:48 pm
Ontem à(s) 3:42 pm
Ontem à(s) 2:47 pm
Ontem à(s) 12:51 am
Ontem à(s) 12:50 am
Dom Jan 26, 2020 11:01 pm
Dom Jan 26, 2020 6:57 pm
Dom Jan 26, 2020 6:20 pm
Dom Jan 26, 2020 5:52 am
Sab Jan 25, 2020 7:45 pm
Sab Jan 25, 2020 7:34 pm
Sab Jan 25, 2020 5:41 pm
Sab Jan 25, 2020 4:11 pm
Sab Jan 25, 2020 12:01 pm
Sex Jan 24, 2020 11:35 pm
Sex Jan 24, 2020 7:57 pm
Sex Jan 24, 2020 7:42 pm
Sex Jan 24, 2020 1:20 pm
Sex Jan 24, 2020 2:49 am
Sex Jan 24, 2020 2:36 am
Sex Jan 24, 2020 1:31 am
Qui Jan 23, 2020 11:07 pm
Qui Jan 23, 2020 11:06 pm
Qui Jan 23, 2020 10:53 pm
Qui Jan 23, 2020 10:43 pm
Qui Jan 23, 2020 10:32 pm
Qui Jan 23, 2020 10:24 pm
Qui Jan 23, 2020 10:18 pm
Qui Jan 23, 2020 10:11 pm
Qui Jan 23, 2020 6:39 pm
Qua Jan 22, 2020 3:57 pm
Qua Jan 22, 2020 12:40 pm
Ter Jan 21, 2020 9:20 pm
Ter Jan 21, 2020 7:34 pm
Ter Jan 21, 2020 6:07 pm
Ter Jan 21, 2020 4:27 pm
Ter Jan 21, 2020 2:35 pm
Seg Jan 20, 2020 11:49 pm
Seg Jan 20, 2020 12:43 pm
Seg Jan 20, 2020 12:28 pm
Dom Jan 19, 2020 7:41 pm
Dom Jan 19, 2020 5:33 pm
Dom Jan 19, 2020 5:28 pm
Dom Jan 19, 2020 2:24 pm
Dom Jan 19, 2020 1:59 am
Sab Jan 18, 2020 11:12 pm
Sab Jan 18, 2020 8:51 pm
Sab Jan 18, 2020 5:57 pm
Sab Jan 18, 2020 5:12 pm
Sab Jan 18, 2020 4:49 pm
Sex Jan 17, 2020 11:36 pm
Sex Jan 17, 2020 9:21 pm
Sex Jan 17, 2020 12:21 pm
Sex Jan 17, 2020 10:10 am
Sex Jan 17, 2020 12:44 am
Qui Jan 16, 2020 9:01 pm
Qui Jan 16, 2020 2:35 pm
Qui Jan 16, 2020 1:00 am
Qua Jan 15, 2020 11:05 pm
Qua Jan 15, 2020 6:04 pm
Qua Jan 15, 2020 6:03 pm
Qua Jan 15, 2020 5:41 pm
Qua Jan 15, 2020 12:30 pm
Qua Jan 15, 2020 2:05 am
Ter Jan 14, 2020 10:28 pm
Ter Jan 14, 2020 9:21 pm
Ter Jan 14, 2020 8:34 pm
Ter Jan 14, 2020 4:42 pm
Ter Jan 14, 2020 12:05 pm
Ter Jan 14, 2020 10:25 am
Seg Jan 13, 2020 8:10 pm
Seg Jan 13, 2020 7:51 pm
Seg Jan 13, 2020 5:45 pm
Seg Jan 13, 2020 4:40 pm
Seg Jan 13, 2020 4:31 pm
Seg Jan 13, 2020 2:44 pm
Seg Jan 13, 2020 1:42 am
Dom Jan 12, 2020 11:24 pm
Dom Jan 12, 2020 11:17 pm
Dom Jan 12, 2020 11:10 pm
Dom Jan 12, 2020 9:48 pm
Dom Jan 12, 2020 9:32 pm
Dom Jan 12, 2020 5:29 pm
Dom Jan 12, 2020 7:56 am
Dom Jan 12, 2020 2:59 am
Dom Jan 12, 2020 2:50 am
Sab Jan 11, 2020 10:18 pm
Sab Jan 11, 2020 8:23 pm
Sab Jan 11, 2020 7:54 pm
Sab Jan 11, 2020 1:30 pm
Sab Jan 11, 2020 12:15 pm
JoelMJunior
lesgoy
MayLeone
Antônio T
Antônio T
WagnerMartins
BrunoMga07
BlesseD
gtcmcsgo
gtcmcsgo
MayLeone
MarcosSchultz
MarcosSchultz
Matrirxp
LúcioHenrique098
Kakaroto222
Felipe42
Edivandro2706
iToddy
billybmx
BrunoMga07
artplayer
Fagner
Piewdie Mãe
Fagner
Socates
MarcosSchultz
MarcosSchultz
NKKF
skillMakarov
skillMakarov
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Piewdie Mãe
Heltonlay
NKKF
MayLeone
Fagner
lucasluiz789
Piewdie Mãe
hendrick22
JhoowGamer
lesgoy
Kleber Lucas
Antônio T
LAGGAMES
AnderGames
nvndx
Antônio T
RafaelSquid1
nvndx
NKKF
Fagner
Piewdie Mãe
Fagner
Wahder
skillMakarov
MarceloYBP
LúcioHenrique098
LúcioHenrique098
RafaelSquid1
nvndx
lesgoy
LúcioHenrique098
LúcioHenrique098
teos626
NKKF
RafaelSquid1
RafaelSquid1
Fagner
pwssantos
vibonito
Antônio T
lucasluiz789
hendrick22
BlesseD
hendrick22
Edu4rdogx
gtcmcsgo
RafaelSquid1
juansup
Edivandro2706
felipe jesus
Edivandro2706
Sherlock
Fagner
Felipe42
Felipe42
BlesseD
Felipe42
Felipe42
Magnatah
Antônio T
joffersoju
lucasluiz789

[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 : 303
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 : 1478
REPUTAÇÃO : 387
Á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 : 303
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 : 303
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 : 1478
REPUTAÇÃO : 387
Á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 : 2322
REPUTAÇÃO : 395
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 : 1478
REPUTAÇÃO : 387
Á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 : 303
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 : 1478
REPUTAÇÃO : 387
Á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 : 303
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 : 1478
REPUTAÇÃO : 387
Á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 : 303
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 : 303
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 : 1478
REPUTAÇÃO : 387
Á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 : 303
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