Conectar-se
Quem está conectado
19 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 18 Visitantes

Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 03/09/2010
Número de Mensagens : 47
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

[Ajuda] Como para esta animação?

em Seg 10 Set 2012, 00:11
Olá galera, eu estou montando um jogo do Sonic e estou com um problema aqui. Eu gostaria de saber como parar esta animação quando ele parar de colidir com o objRail(solid,high,low). Aqui o código.

Código:

if (!ground || checkWalls()) Grind=0;  //check if above us are normal ground


            if (y_speed>=0 && player_collision_bottom_obj(x,y,angle,maskBig,objRailHigh)  && !Grind && layer=1){
            sound_loop(sndGrinding);
            if !checkWalls() sound_play(sndRailhit)
            Grind=1}
            if (y_speed>=0 && player_collision_bottom_obj(x,y,angle,maskBig,objRailLow)  && !Grind && layer=0) {
            sound_loop(sndGrinding);
            if !checkWalls() sound_play(sndRailhit)
            Grind=1}

            if (y_speed>=0 && player_collision_bottom_obj(x,y,angle,maskBig,objRailSolid) && !Grind) {
            sound_loop(sndGrinding);
            if !checkWalls() sound_play(sndRailhit)
            Grind=1}

            if Grind=0 sound_stop(sndGrinding);
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

Re: [Ajuda] Como para esta animação?

em Seg 10 Set 2012, 09:41
Grunf!!! Simplismente coloque isso onde diz que o player colidiu como parte do code(ónde nabda o player parar!)ou evento collision:
Código:
image_speed=0
avatar
Data de inscrição : 29/05/2008
Número de Mensagens : 416
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://felipejoys.webnode.com

Re: [Ajuda] Como para esta animação?

em Seg 10 Set 2012, 13:37
Código:
if (!ground || checkWalls()) Grind=0;

Tente trocar para

Código:
if (!ground || checkWalls()) {Grind=0; sprite_index = SUASPRITE;}

Assim vai mudar a animação, se é isso que você quer.
avatar
Data de inscrição : 03/09/2010
Número de Mensagens : 47
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Ajuda] Como para esta animação?

em Ter 25 Set 2012, 11:31
como assim sprite_index = SUASPRITE;}?
avatar
Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1

Prêmios
   : 2
   : 2
   : 1
Ver perfil do usuáriohttp://guitarmester.no.comunidades.net/index.php?pagina=19362978

Re: [Ajuda] Como para esta animação?

em Ter 25 Set 2012, 12:36
@siri100 escreveu:como assim sprite_index = SUASPRITE;}?
sprite_index = SpritedoSonicParado
coloque a imagem de quando ele estiver parado.
Sprite_index é para trocar a Sprite do OBJ.
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 25/02/2012
Número de Mensagens : 359
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Ajuda] Como para esta animação?

em Qua 26 Set 2012, 00:00
não sei se você precisa é disso mas tem os codigos:

image_speed //se setado como 0 a animação ficara parada se setado como mais de 0 a animação ira reproduzir, da pra escolher a velocidade da animação como image_speed=0.2 a animação vai reproduzir(mudar os frames lentamente) ai quanto maior o valor mais rapida vai ser a animaçao
e
image_index //o image_index serve para vocêescolher qual frame vai aparecer, obs: ele começa a contar do 0
se sua animação tiver dois frames serão o frame 0 e o frame 1 e nao o frame 1 e o frame 2 entendeu ??
rsrsrs

se a imagem do personagem parado for o terceiro frame por exemplo você pode usar algo asiim para fazer a sprite do player ficar parado na colisao coloca algo assim:

Código:
image_speed=0 // a sua animação ira parar
image_index=2 // ira setar o terceiro frame das sprite como o atual frame lembrando que começa a contar do zero então o terceiro frame seria o numero 2 mesmo
Para parar uma animação usa-se(pelo menos que eu sei) o image_index mesmo

Achei isso bem util quando descobri lendo uns tutoriais aqui por que da pra faser tudo com uma só sprite/animação(player parar e andar etc...)

Aee se não for isso que precisar desculpa ai mas é que tava com vontade de escrever algo então decidi escrever aqui isso pra tentar te ajudar,
Abraços.... Até mais cara...

Off: Hehe oque a dedicação e estudos não fazem...
Tão pouco tempo de GML...
E ja sei muitas coisas... Happy
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