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

jailson_dante

Ver toda a lista


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

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

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

Re: [Resolvido] Ataque e salto do personagem

em Qua 28 Jan 2015, 22:59
Okay, vou detalhar o máximo possível.. Qualquer dúvida eu comento mais..

O jogo é em plataforma 2D..
No momento do ataque quero obter a sub imagem atual do sprite e verificar quando chegar na sub imagem X.

O meu objeto tem no evento draw o seguinte código:
Código:

    draw_sprite_ext(corpo_Personagem,sprite_index,x,y,xscale,1,0,real(global.cor_Personagem),1);
    draw_sprite_ext(get_IdSprite(cabelo_Personagem),sprite_index,x,y,xscale,1,0,real(global.cor_cabelo),1);
    draw_sprite_ext(get_IdSprite(camisa_Personagem),sprite_index,x,y,xscale,1,0,real(global.cor_camisa),1);
    draw_sprite_ext(get_IdSprite(calca_Personagem),sprite_index,x,y,xscale,1,0,real(global.cor_calca),1);
    draw_sprite_ext(get_IdSprite(olho_Personagem),sprite_index,x,y,xscale,1,0,real(global.cor_olhos),1);
    draw_sprite_ext(arma_personagem,sprite_index,x,y,xscale,1,0,-1,1);

Tenho um draw_sprite_ext para cada parte do corpo do meu personagem. E adiciono uma máscara no mesmo de um corpo inteiro..

E para a animação e movimentação utilizo máquinas de estado finito..

Sem ser isso acho que as demais informações não são muito importantes..

Objetivo:
O que quero é simples, preciso fazer o personagem no momento em que atacar executar um sprite animado, porém eu quero que execute apenas uma vez este sprite, da sub imagem 0 até a última e depois pare..
Para isso eu pretendo usar um if onde verifico a sub imagem atual e quando a última saio do estado atacano..

Exemplos:
O meu jogo é para ser similar ao MapleStory e Castle Crashers..
avatar
Data de inscrição : 08/10/2014
Número de Mensagens : 236
Insígnias de JAM :

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

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

Re: [Resolvido] Ataque e salto do personagem

em Qua 28 Jan 2015, 23:10
Vc está usando "sprite_index". Ali não deveria ser "image_index"?


Última edição por Sewer Crawler em Qua 28 Jan 2015, 23:15, editado 1 vez(es)
avatar
Data de inscrição : 17/10/2013
Número de Mensagens : 76
Insígnias de JAM :

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

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

Re: [Resolvido] Ataque e salto do personagem

em Qua 28 Jan 2015, 23:13
Fiz a troca, mas deu no mesmo..

EDITADO:

Eu acho que o problema se da por eu não ter nenhum sprite definido para o objeto..
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: [Resolvido] Ataque e salto do personagem

em Qua 28 Jan 2015, 23:21
Amigo, para sua pergunta inicial:
imagem atual do sprite:
image_index,
numero de imagens:
image_number,
Para fazer o que voce descreveu:
quando mudar o sprite para a sequencia de movimentos coloque:
Código:

sprite_index = sprite_do_movimento; // substitua aqui
image_index = 0; //primeira imagem do movimento
image_speed = 0.5; // se ja nao estiver setado
depois coloque no Evento:
Other->Animation End
Código:

image_speed = 0;
sprite_index = sprite_anterior_ao_movimento;
Assim vc nao precisa de image_number.
Flws!
avatar
Data de inscrição : 17/10/2013
Número de Mensagens : 76
Insígnias de JAM :

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

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

Re: [Resolvido] Ataque e salto do personagem

em Qua 28 Jan 2015, 23:46
Isso funcionária se eu não estivesse usando máquinas de estados..

Na verdade funcionou, o problema é que o end step agora afeta todos os meus estados.. E deveria afetar apenas o estado ataque.
avatar
Data de inscrição : 08/10/2014
Número de Mensagens : 236
Insígnias de JAM :

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

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

Re: [Resolvido] Ataque e salto do personagem

em Qui 29 Jan 2015, 00:01
Eu tinha essa engine, mas n sei se tem a ver com o que vc precisa.
https://app.box.com/s/kb42yuumpgcw047yk5q1ovho1r5kspzu
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: [Resolvido] Ataque e salto do personagem

em Qui 29 Jan 2015, 00:05
Verifique o estado no Animation End:
Código:

switch(state) {
case 0:
  // se for o estado zero faça outra coisa ou nada
  break;
case 1:
  image_speed = 0;
  sprite_index = sprite_anterior_ao_movimento;
  break;
}
Assim verificando a maquina de estados deve funcionar.
Flws!
avatar
Data de inscrição : 17/10/2013
Número de Mensagens : 76
Insígnias de JAM :

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

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

Re: [Resolvido] Ataque e salto do personagem

em Qui 29 Jan 2015, 08:26
Sewer Crawler ainda não vi a engine assim que voltar para minha casa vou ver..

vinians eu estava pensando algo assim, não cheguei a implementar nada.. Fiz uns testes que não funcionaram, mas nada muito sério, hoje a noite vou tentar fazer algo mais completo desta maneira e posto os resultados..

-- EDITADO --

Esta terminando muito rápido! Mad
Executa apenas uma sub imagem agora e vai para o próximo estado..


Última edição por fernando.munizerthal em Qua 18 Fev 2015, 13:45, editado 1 vez(es)
avatar
Data de inscrição : 17/10/2013
Número de Mensagens : 76
Insígnias de JAM :

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

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

Re: [Resolvido] Ataque e salto do personagem

em Qua 18 Fev 2015, 13:50
Resolvido! formado

Galera descobri uma maneira de resolver o meu problema, infelizmente não vai poder ser de nenhuma maneira que foi colocada como sugestão aqui.. (Não sei por que as sugestões não funcionaram, ao meu ver estão corretas sim, mas por algum bug do GameMaker talvez não funcionou para mim da forma que o resto esta implementado)

Por esse fato, eu irei organizar meus códigos e assim que tiver um tempo vou postar o que tive que fazer pra tudo funcionar, vou postar aqui mesmo neste post, então ainda não tranquem o mesmo por favor..

Assim que for possível eu posto as gambiarras, serão muito úteis pra mais de um garanto.. hehe ;)

Cool
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