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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 25/06/2013
Número de Mensagens : 7
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Parar animação em um certo frame do sprite.

em Qui 27 Fev 2014, 09:41
Como eu faço a image_speed ser 0 quando meu spr_bloco estiver no segundo frame, sabendo que o spr_bloco só tem 2 frames, 0 e 1? scratch


Última edição por Deyvison em Dom 02 Mar 2014, 00:13, editado 1 vez(es)
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: Parar animação em um certo frame do sprite.

em Qui 27 Fev 2014, 10:18
Código:
if image_index=1
{image_speed=0}
avatar
Data de inscrição : 25/06/2013
Número de Mensagens : 7
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Parar animação em um certo frame do sprite.

em Qui 27 Fev 2014, 12:10
ja tentei, não da certo. Será que mudou no game maker studio?
avatar
Data de inscrição : 27/02/2014
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

Re: Parar animação em um certo frame do sprite.

em Qui 27 Fev 2014, 12:14

Experimente usar o evento "Animation end"; ele fica na categoria "Other" de eventos.
Puxe uma linha de código pra dentro dele e coloque:

Código:
image_speed = 0;
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 12/09/2013
Número de Mensagens : 65
Insígnias de JAM :

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

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

Re: Parar animação em um certo frame do sprite.

em Qui 27 Fev 2014, 13:48
Coloque no Evento que você quer, Colisão, Step...:

Código:
if (image_index == 1){
image_index = 1
image_speed = 0
}
avatar
Data de inscrição : 02/10/2009
Número de Mensagens : 2227
Insígnias de JAM :

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

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

Re: Parar animação em um certo frame do sprite.

em Qui 27 Fev 2014, 14:40
#Killerzinho seu código não faz nada diferente do do Kaleb, até porque você tá definindo uma variável com valor 1 quando ela for 1, logo, não muda nada.
#Deyvison
Código:

    if (image_index == 1){
    image_speed = 0;
    }
    if (image_speed == 0){
    image_index = 1
    }


Isso ou o que o Pai Véi disse devem dar certo.
avatar
Data de inscrição : 08/10/2013
Número de Mensagens : 13
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

Re: Parar animação em um certo frame do sprite.

em Qui 27 Fev 2014, 14:54
tente arredondar a condição, a variavel image_index usa numero flutuante, tente:

----no step event-----------------
Código:
if (round(image_index) == 1){
image_index = 1;
image_speed = 0;
}

a forma do end_animation citado acima tambem funciona, e é ate melhor...
faz o teste e ve se da certo.
avatar
Ranking : Nota A
Notas recebidas : B-B-B-A-A
Data de inscrição : 02/08/2013
Número de Mensagens : 306
Insígnias de JAM :

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

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

Re: Parar animação em um certo frame do sprite.

em Qui 27 Fev 2014, 21:30
No meu só consigo resultado se definir o image_speed no create ou step do objeto.

EX:
Código:
image_speed=0.5
Sendo que a room esta com 30 de speed "Padrão"

Não sei se é um bug do GMS mas nunca consegui usar o Animation end normal  Suspect 

Tenta ai junto com um desses codes acima só mude o image_speed a sua necessidade!
avatar
Data de inscrição : 02/10/2009
Número de Mensagens : 2227
Insígnias de JAM :

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

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

Re: Parar animação em um certo frame do sprite.

em Qui 27 Fev 2014, 22:04
willyruduit escreveu:No meu só consigo resultado se definir o image_speed no create ou step do objeto.

EX:
Código:
image_speed=0.5
Sendo que a room esta com 30 de speed "Padrão"

Não sei se é um bug do GMS mas nunca consegui usar o Animation end normal  Suspect 

Tenta ai junto com um desses codes acima só mude o image_speed a sua necessidade!


Dá pra definir em qualquer lugar sendo que a variável vai de 0 a 1.
Se você usar 0.5, vai ser a mesma coisa que usar room_speed/2.

Para usar a mesma velocidade usada no editor de sprite, basta:
Código:
image_speed=room_speed/vel //Sendo vel a velocidade no editor de sprites.
avatar
Ranking : Nota A
Notas recebidas : B-B-B-A-A
Data de inscrição : 02/08/2013
Número de Mensagens : 306
Insígnias de JAM :

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

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

Re: Parar animação em um certo frame do sprite.

em Qui 27 Fev 2014, 22:21
Gabreel escreveu:

Dá pra definir em qualquer lugar sendo que a variável vai de 0 a 1.
Se você usar 0.5, vai ser a mesma coisa que usar room_speed/2.

Para usar a mesma velocidade usada no editor de sprite, basta:
Código:
image_speed=room_speed/vel //Sendo vel a velocidade no editor de sprites.

Eu sei mas não funciona comigo!

se deixar normal sem definir não funciona.Sempre tenho que usar isso as vezes me esqueço e quebro a cabeça até me lembrar mas nem me estresso mais uso isso direto e vai embora   Basketball
avatar
Data de inscrição : 25/06/2013
Número de Mensagens : 7
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Parar animação em um certo frame do sprite.

em Sab 01 Mar 2014, 07:45
Descobri qual era o problema, falta de inteligencia... tongue

Eu coloquei o image_index no lugar errado, estava assim:

Código:
if keyboard_check_pressed(ord("S"))
   {
      sprite_index=spr_abaixar;
         if image_index>1
            {
               image_speed=0;
            }
   }

Sendo que o certo é assim:
Código:
if keyboard_check_pressed(ord("S"))
   {
      sprite_index=spr_abaixar;
   }
   if image_index>1 and sprite_index=spr_abaixar
      {
          image_speed=0;
      }

Obrigado a todos pelas dicas. flw 
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