GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Problema mudança de sprite no ataque [Plataforma]

2 participantes

Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Problema mudança de sprite no ataque [Plataforma]

Mensagem por biscoito Seg 05 Mar 2012, 14:08

Pessoal peguei um tutorial aqui no forum sobre movimento fiz tudo certinho e comecei a modificar o código para meu personagem atacar. Ele ataca, mas não tem os movimentos que eu qeria, ele simplesmente muda para o primeiro frame do sprite e nao tem a animaçao de todos os frames. No caso, a lingua do yoshi deveria se mexer... quando ele pula e aperto space ele ta bugs que nao consigo resolver tbm...
Usei esse codigo:
Código:
if (place_free(x,y+1))
{gravity=0.5; noar=true;

} else
 
 {gravity=0; noar=false;
 }

//Definiões de pulo
if (keyboard_check_pressed(vk_up)) && ! (place_free(x,y+1))
{
vspeed=-9; noar=true; friction=0; 
}

if (vspeed>12)
vspeed=12;
//movimentaçao
if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-5,y))
{x-=5; lado=0; andando=true; parado=false;
}
if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+5,y)) 
{x+=5; lado=1; andando=true; parado=false;
}

if ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) 
{andando=false; parado=true;
}
//atacar
if (keyboard_check(vk_space)) && ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)){
atacando=true }else
{atacando=false}

//Sprites
if (noar==false)

{
if (andando=true) && (lado==1) 
{
sprite_index=spr_and_dir;
}
if (andando=true) && (lado==0)
{
sprite_index=spr_and_esq;
}
if (andando==false) && (parado==true) && (lado==1)
{
sprite_index=spr_par_dir;
}
if (andando==false) && (parado==true) && (lado==0)
{
sprite_index=spr_par_esq;
}
}

if (atacando==true) && (lado==0)
{sprite_index=spr_atac_esq}

if (atacando==true) && (lado==1)
{sprite_index=spr_atac_dir}

else
{
if (vspeed>0) || (vspeed<0) && (lado==1)
{
sprite_index=spr_pul_dir;
}
if (vspeed>0) || (vspeed<0) && (lado==0)
{
sprite_index=spr_pul_esq;
}
}



Última edição por biscoito em Qua 07 Mar 2012, 13:10, editado 1 vez(es)
biscoito
biscoito

Data de inscrição : 07/06/2008
Reputação : 3
Número de Mensagens : 181
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por saim Seg 05 Mar 2012, 15:26

Bom, tá na cara que esse código está no step.

Olha só:
Código:
//atacar
if (keyboard_check(vk_space)) && ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)){
atacando=true }else
{atacando=false}
Essas linhas mudam a variável "atacando" pra "true" ENQUANTO você estiver, ao mesmo tempo, com o epaço apertado, a seta pra esquerda solta e a seta pra direita solta. Se você solta o espaço ou aperta qualquer direção, "atacando" volta pra false.

A parte que escolhe os sprites também está com um probleminha. Você fechou o colchete do "if (noar==false)" antes do else, então o "else" está se referindo ao "if (atacando==true) && (lado==1)". Deveria ser ao "if (noar==false)", mesmo. Parece que basta deslocar o colchete que fecha mais pra baixo.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por biscoito Seg 05 Mar 2012, 15:37

Agr ele nao ataca mais enquanto pula... oq eu qeria mesmo é que quando eu apertasse space, o yoshi fizesse a animaçao do ataque(sair a lingua de sua boca e voltar)e quando a animaçao acabar voltar ao normal, mas nao tenho ideia de como fazer isso.
Vc baixou a engine?
biscoito
biscoito

Data de inscrição : 07/06/2008
Reputação : 3
Número de Mensagens : 181
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por saim Seg 05 Mar 2012, 17:33

Não, nem vi link pra baixar. Não era esperado mesmo que o yoshi continuasse atacando no ar. Pra isso, você tem que mudar toda a estrutura do código na parte que define a sprite. Comece com "if (atacando==false)", passe por todas as opções dele estar atacando e depois vá pra "else" e passe por todas as opções de novo.

Uma forma de manter a animação até o fim é não mudar atacando pra false no step, mas no animation_end. Você coloca, nesse evento,
Código:
if sprite_index==spr_atacando or sprite_index==seilá{
atacando = false
}
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por biscoito Seg 05 Mar 2012, 19:33

então eu teria que criar um evento animation end, e ne colocar esse codigo?
o link esta no final...
biscoito
biscoito

Data de inscrição : 07/06/2008
Reputação : 3
Número de Mensagens : 181
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por saim Ter 06 Mar 2012, 09:10

Ah, tá, tem o link sim. Passei batido.
Se você copiar e colar o código, ele não vai funcionar. Você tem é que prever todos os sprites de ataque possíveis pro yoshi estar sendo animado. Eu não sei quais são. No animation_end, o que você vai dizer pra máquina é "se estiver com qualquer sprite de ataque, já que terminou a animação, a variável 'atacando' passa a valer 'false'".

Lembrando que, no step, você pára de mudar "atacando" pra "false".
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por biscoito Ter 06 Mar 2012, 12:37

entao cara... tentei fazer desse jeito, mas ele nao vai... a animaçao do yoshi atacando só fica no 1 frame...
O que ele deveria fazer seria, mudar para o spr_atac e a hora que a animaçao acabar ele voltaria ao sprite normal. o problema é q eu nao estou usando um obj_player_atac, estou usando só o obj_player que faz todas as outras funçoes, se eu adicionar um animation end ele vai fazer isso para todos os sprites...
Vc viu a engine como está?
biscoito
biscoito

Data de inscrição : 07/06/2008
Reputação : 3
Número de Mensagens : 181
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por saim Ter 06 Mar 2012, 14:36

Não vi a engine. Daqui, eu não tenho como baixar. Mas o problema já está (ou parece estar) claro, pra mim.

Não tem problema usar um objeto só, mas você tem que pensar em como estará cada variável a cada step, tem que ver se uma tem relação com a outra, etc.
Usar animation_end deveria funcionar. Ele não vai fazer isso pra todos os sprites se você verificar o sprite index no evento. Que nem eu coloquei no código de exemplo. if (sprite_index == seiláonome){ação}. Daí, se o sprite_index não for aquele do "if", o evento não faz nada.

Eu digo pra fazer isso porque no step tem uma ação que define "atacando" como false se o botão não estiver apertado e, no mesmo step, mais pro final, você verifica se atacando é true ou false e muda a sprite em função disso. Então, se você soltar o botão de ataque, "atacando" passa a valer "false" e a sprite deixa de ser a de atacar.
Minha idéia é que você tranque a variável em "true" até o final da animação, independente do botão estar apertado ou não, pra que aí, só quando o ataque estiver completo, ele pare de atacar e use a sprite normal.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por biscoito Ter 06 Mar 2012, 14:40

siim entendi... como eu identifico se ja acabou ou nao a animaçao? por exemplo:
if (acabou_animaçao) {
atacando= false
}
tem alguma ideia?
biscoito
biscoito

Data de inscrição : 07/06/2008
Reputação : 3
Número de Mensagens : 181
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por saim Ter 06 Mar 2012, 14:47

O evento animation_end. Ele só acontece quando a animação acaba. E, se você ainda não entendeu o que eu quis dizer com aquele código, estive pensando aqui e cheguei à conclusão que nem precisa. Não tem problema definir atacando como false no final de cada animação, esteja o yoshi atacando ou não.
Simplesmente tire "atacando = false" do step e coloque no animation_end. Teste. Conte.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por biscoito Ter 06 Mar 2012, 14:50

Não funcionou.. eu consegui aqui com que ele atacasse... mas a animaçao nao continua, ela fica parada no frame 1 do sprite, isso eu nao estou entendendo...

EDIT: agr meu codigo está assim:
Código:
if (keyboard_check(vk_left)) &&  (keyboard_check(vk_right))
{parado=true; andando=false; atacando=false}
if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-5,y))
{x-=5; lado=1; andando=true; parado=false ; atacando=false; abaixado=false
}
if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+5,y)) 
{x+=5; lado=0; andando=true; parado=false; atacando=false; abaixado=false
}

if ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) 
{andando=false; parado=true; atacando=false; abaixado=false
}
//abaixar
if (keyboard_check(vk_down)) && (noar=false) && ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right))
{andando=false; parado=true; atacando=false abaixado=true}
//atacar
if (keyboard_check(vk_space)) && parado=true{
atacando=true }

//Sprites
{if (noar==false)

{
if (andando=true) && (lado==0) 
{
sprite_index=spr_and_dir;
}
if (andando=true) && (lado==1)
{
sprite_index=spr_and_esq;
}
if (andando==false) && (parado==true) && (lado==0)
{
sprite_index=spr_par_dir;
}
if (andando==false) && (parado==true) && (lado==1)
{
sprite_index=spr_par_esq;
}
if (atacando==true) && (lado==1)
{sprite_index=spr_atac_esq}

if (atacando==true) && (lado==0)
{sprite_index=spr_atac_dir}
}
if (abaixado==true) && (lado==0)
{sprite_index=spr_bai_dir}
if (abaixado==true) && (lado== 1)
{sprite_index=spr_bai_esq}

else
{
if (vspeed<0) && (lado==0)
{
sprite_index=spr_pul_dir;
}
if  (vspeed<0) && (lado==1)
{
sprite_index=spr_pul_esq;
}
if (vspeed>0) && (lado==0)
{sprite_index=spr_caindo_dir}
if (vspeed>0) && (lado==1)
{sprite_index=spr_caindo_esq}
}}
Ele muda para o sprite de ataque enquanto eu aperto space, quando eu solto ele volta ao normal, entretando o sprite de ataque nao muda de frame(nao faz o movimento de sair a lingua) só aparece o 1 movimento.
biscoito
biscoito

Data de inscrição : 07/06/2008
Reputação : 3
Número de Mensagens : 181
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por saim Ter 06 Mar 2012, 17:09

Sério? Complicou...
Onde você define o image_speed? As outras animações (dele andando)rodam direitinho? Como está o animation_end?

Talvez seja porque a sprite é definida a cada step e, com isso, a image_index esteja voltando pra zero, mas eu tenho a impressão que isso não deveria acontecer. Se as outras sprites estiverem rodando direitinho, nem precisa checar.

Gozado que ele ainda volta pra sprite normal, o que só deveria acontecer no final da animação... Espera, tem alguma coisa no seu draw_event? Algo como draw_sprite(sprite_index, 0, x, y)? Se for exatamente isso, troque o "0" pelo "image_index"
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por biscoito Ter 06 Mar 2012, 17:11

nao tem nada cara... as outras sprites estao com o movimento correto... o problema é só no sprite de ataque... quer que eu te mande o gmk novo dele?
biscoito
biscoito

Data de inscrição : 07/06/2008
Reputação : 3
Número de Mensagens : 181
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por saim Qua 07 Mar 2012, 08:19

Era o que eu temia, a sprite está sendo re-definida a cada step. Não é o animation_end que está fazendo ela voltar ao normal, ela está mudando pra uma outra sprite (provavelmente a sprite do bicho parado) e voltando pra sprite de ataque, tudo no mesmo step.
Isso deve estar fazendo com que o image_index seja retornado pra zero, porque o game maker faz isso, toda vez que muda o sprite_index, o image_index cai pra zero.
Solução: prever formas do jogo NÃO encontrar as condições pra mudar de sprite até acabar a animação.

Como eu me dei o trabalho de refazer o código, coloco ele aqui pra você. Eu chequei se "atacando" era false antes de mudar cada uma das situações, antes de verificar os sprites. Além disso, redefini cada uma das variáveis quando atacar, pra que as definições de sprite não aconteçam quando o personagem estiver atacando.
Funcionou, mas achei meio gambiarra. Sugiro dar uma lida num tutorial a respeito de máquinas de estados finitos. Eu tenho um na minha assinatura. As MEF são uma solução excelente pra quando você tem muitas situações (estados) pro mesmo objeto, o que é exatamente seu caso.

Código:
if (keyboard_check(vk_left)) &&  (keyboard_check(vk_right) && (atacando == false)){
   parado = true; andando = false; atacando = false;
   }
if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-5,y) && (atacando == false)) {
   x -= 5; lado = 1; andando = true; parado = false ; atacando = false; abaixado = false;
   }
if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+5,y) && (atacando == false)) {
   x += 5; lado = 0; andando = true; parado = false; atacando = false; abaixado = false;
   }
if ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right))  && (atacando == false){
   andando = false; parado = true; atacando = false; abaixado = false;
   }
//abaixar
if (keyboard_check(vk_down)) && (noar = false) && ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (atacando == false){
   andando = false; parado = true; atacando = false; abaixado = true;
   }
//atacar
if (keyboard_check(vk_space)) && parado = true {
   atacando = true; andando = false;  parado = false ;
   }

//Sprites
{
// if (atacando == true){
   // if (lado == 1){
      // sprite_index = spr_atac_esq
      // }
      // else {
         // sprite_index = spr_atac_dir;
         // }
   // }
if (noar == false) {
   if (andando = true) && (lado == 0) {
      sprite_index = spr_and_dir;
      }
   if (andando = true) && (lado == 1) {
      sprite_index = spr_and_esq;
      }
   if (andando == false) && (parado == true) && (lado == 0) {
      sprite_index = spr_par_dir;
      }
   if (andando == false) && (parado == true) && (lado == 1) {
      sprite_index = spr_par_esq;
      }
   if (atacando == true) && (lado == 1){
      sprite_index = spr_atac_esq
      }
   if (atacando == true) && (lado == 0){
      sprite_index = spr_atac_dir;
      }
   }
if (abaixado == true) && (lado == 0){
   sprite_index = spr_bai_dir
   }
if (abaixado == true) && (lado ==  1){
   sprite_index = spr_bai_esq
   }
   else {
      if (vspeed<0) && (lado == 0) {
         sprite_index = spr_pul_dir;
         }
      if  (vspeed<0) && (lado == 1) {
         sprite_index = spr_pul_esq;
         }
      if (vspeed>0) && (lado == 0){
         sprite_index = spr_caindo_dir
         }
      if (vspeed>0) && (lado == 1){
         sprite_index = spr_caindo_esq
         }
      }
}
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por biscoito Qua 07 Mar 2012, 12:40

Sim agora funcionou.. mas ele fica atacando somente... como faço para ele fazer a animaçao do ataque e quando essa animaçao acabar ele voltar ao normal?
pois agora ele fica atacando enquanto eu deixo o space apertado, eu qeria que ele atacasse somente uma vez...

EDIT: Resolvi o problema... a animaçao continuava, entao coloquei um alarm para que dps de algum tempo o atacando virasse falso. eu calculei o tempo e coloquei no alarm. Então ele ataca e dps de 1segundo(alarm=10) a var atacando vira false e ele volta ao sprite normal!
Muito obrigaado !!
biscoito
biscoito

Data de inscrição : 07/06/2008
Reputação : 3
Número de Mensagens : 181
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por saim Qua 07 Mar 2012, 14:05

Como eu disse umas 3 vezes e achei que já estava incorporado ao objeto, o evento animation_end é mais adequado pra parar a animação do que o alarm, mas se você está feliz, eu estou feliz. Smile

Agora, sério, dê uma olhada em máquinas de estados finitos. O conceito é mais simples do que parece e o ganho em simplicidade é imenso. Você deve gastar de 20 minutos a duas horas estudando (depende da bagagem que você tenha) e isso vai te economizar alguns séculos resolvendo bugs como esse.

Como a dúvida foi resolvida, o tópico está sendo trancado. Se quiser reabrir, entre em contato com a moderação.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Problema mudança de sprite no ataque [Plataforma] Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Problema mudança de sprite no ataque [Plataforma] Empty Re: Problema mudança de sprite no ataque [Plataforma]

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos