Bug no jogo

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Bug no jogo

Mensagem por Ueliton em Sex 09 Dez 2011, 23:54

Estou fazendo um jogo "Protocolo secreto - A destruição" nome da 1° versão, mas quando eu vou andar o personagem fica parado só as penas se mexendo, e o único jeito de para esse bug é pulando, se pular o personagem para de travar e pode andar normalmente, mas é só mudar de direção tanto para esquerda quanto para direita que o bug volta.
Alguém pode me ajudar?

Para melhor entendimento do bug, vejam o teste do jogo, para visualizar o bug descrito.

http://youtu.be/NYXPBQEKIhk

Ueliton

Ranking : Nota D
Número de Mensagens : 128
Data de inscrição : 29/10/2011
Notas recebidas : E+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://gmls.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: Bug no jogo

Mensagem por GustavoLC em Sab 10 Dez 2011, 00:14

Provavelmente é porque quando você pressiona as teclas de direção (esquerda/direita) isso ativa a animação do heroi correndo e quando você libera as teclas, o programa não retorna para a imagem dele parado.

Uma sugestão é você colocar algo assim no evento Step:

if sprite_index = heroi_correndo and not(keyboard_check(vk_left))
{
sprite_index = heroi_parado
image_speed=0;
}

Explicando: se o sprite atual é ele correndo e a tecla Esquerda (vk_left) nao estiver pressionada, mude para o sprite heroi_parado e retorne a velocidade da animação para 0 (considerando que a sprite parada tenha apenas 1 frame, se tiver mais, você pode colocar a velocidade como 0.2, por exemplo).

Espero ter ajudado!

GustavoLC

Número de Mensagens : 39
Data de inscrição : 20/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Bug no jogo

Mensagem por Andrew3000 em Dom 11 Dez 2011, 16:46

Ueliton, eu sempre uso isso :

No evento create do obj_player_parado eu arrasto o "start moving a direction", clico no botão do meio e a velocidade 10.

No evento PRESS LEFT arrasto o "start moving a direction",e clico no botão da esquerda e a velocidade 4 (pode ser outra),depois arrasto o
"change instance" e coloco o obj_player_andando_esquerda e perform events=yes .

No evento RELEASE LEFT do obj_player_andando_esquerda eu arrasto o "change instance" e coloco o obj_player_parado e perform events=yes .
(para o da direita é quase a mesma coisa)
espero ter ajudado. Happy

Andrew3000

Número de Mensagens : 20
Data de inscrição : 18/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Bug no jogo

Mensagem por Tedi Ripper em Dom 11 Dez 2011, 17:04

ah, sei, as vezes acontece comigo, tente refazer todo o codigo de plataforma, talvez vc tenha errado na gravidade e talz, refaça prestando mais a atençao, n posso te detalhar melhor pq to sem tempo, mas veja bem os codigos do player. flw

Tedi Ripper

Ranking : Nota C
Número de Mensagens : 765
Idade : 19
Data de inscrição : 21/11/2010
Notas recebidas : C
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Bug no jogo

Mensagem por Jiraya em Dom 11 Dez 2011, 17:32

se estiver usando objetos sólidos para checar a colisão então use o seguinte código no evento step

Código:

while(!place_free(x,y+1))y-=1;
isso pode resolver o problema, porem talves precise de alguns ajustes para se adequar ao jogo.


Jiraya

Ranking : Nota A
Número de Mensagens : 1134
Data de inscrição : 20/03/2010
Notas recebidas : A+A
Reputação : 108
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

https://www.facebook.com/seito.washiro.7

Voltar ao Topo Ir em baixo

Re: Bug no jogo

Mensagem por Conteúdo patrocinado Hoje à(s) 07:54


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum