Conectar-se
Quem está conectado
24 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 24 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 18

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Duvida com tempo entre açoes

em Dom 16 Mar 2014, 15:09
então é o seguinte aqui esta a colisao do meu inimigo com o player
é tipo super mario pular em cima e esmagar,mas o problema é o seguinte,quando eu pulo o objeto inimigo se destroy e nem mostra a sprite dele esmagado,eu queria saber se tem como fazer um tempo mostrando a sprite dele esmagada até ele sumir,se da pra fazer sem usar o alarm e se só der com alarm eu gostaria de uma explicação e um exemplo

if (global.matar = true) {     < essa aqui e a variavel pra matar
sprite_index = spr_jogador_esmagado  < essa aqui e a sprite dele esmagado
instance_destroy();  < aqui a exclusao dele 
global.pontos+=10;   } else {                            < e aqui se caso encostar nele de frente
show_message ("Morreu");
room_restart();
}
avatar
Data de inscrição : 28/01/2010
Número de Mensagens : 136
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Duvida com tempo entre açoes

em Seg 17 Mar 2014, 15:52
Cara, vc pode tentar o seguinte:
Tira o código 
Código:
sprite_index = spr_jogador_esmagado
instance_destroy()
do seu evento, cria um novo evento other > animation end e coloca:
Código:
if sprite_index = spr_jogador_esmagado
instance_destroy()
Não testei, mas acho que funciona
E cara, da próxima vez usa o "code" pra mostrar seu código, a organização do tópico contribui mito pra terem ou não pessoas que ajudam vc
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/09/2010
Número de Mensagens : 1400
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 21

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Duvida com tempo entre açoes

em Seg 17 Mar 2014, 16:06
Vai dar na mesma, bootzin, porque ele precisa de um tempo para mostrar a sprite. Você pode fazer de 2 jeitos.

1 - O jeito fácil é você ir na sprite do inimigo esmagado e repetir a sub-imagem 60 vezes, que no caso vai mostrar ele esmagado por 2 segundos, acho que é um tempo bom. Mas vai pegar um pouco de memória, não tanta.

2 - Ou então você pode criar um alarm. Crie um Alarm 0 e ponha isso lá:

Código:
instance_destroy();

Depois substitua seu código por esse:

Código:
if (global.matar=true) 
{
     sprite_index=spr_jogador_esmagado;
     global.pontos+=10
     alarm[0]=30; //Esse é o tempo, no caso 1 segundo (30 steps = 1 seg)

else {
     show_message("Morreu");
     room_restart();
avatar
Data de inscrição : 28/01/2010
Número de Mensagens : 136
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Duvida com tempo entre açoes

em Seg 17 Mar 2014, 23:57
Ah sim, agora que eu entendi que não é uma animação dele morrendo mas sim uma sprite dele morto.. 
O jeito mais fácil é usar alarm mesmo.. Se vc quer uma explicação beeeeem básica e simplória, alarm é uma """Variável""" que reduz o seu valor em 1 a cada step. Step é a unidade de medida de tempo básica do game maker, que equivale a 1/30 segundo. Por isso se vc definir o alarm[0] = 60, ele vai levar dois segundos para atingir o valor 0, e quando isso acontecer ele vai executar as ações que estejam no evento alarm 0.
Acho que é isso aí, se vc tiver mais dúvidas, dá uma olhada nos tutoriais do fórum, eles explicam e ajudam em muita coisa!
Abraço
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum