Duvida: Char trava quando alternada as direções!

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

Duvida: Char trava quando alternada as direções!

Mensagem por Tirulink em Qui 12 Fev 2009, 13:21

originalmente postei essa duvida na seção de tutoriais
resolvi mudar pra cá, pra nao levar uma chamada...


eu, baseado em código da seção tutoriais, e com o conceito de animatio end
criei esse código:

Código:

if (keyboard_check_pressed(vk_left))
{hspeed=-5; sprite_index=spr_personagem_virando_esq;}
if (keyboard_check_released(vk_left))
{hspeed=0; sprite_index=spr_personagem_parando_esq;}

///////////////////////////////////////////////////////////

if (keyboard_check_pressed(vk_right)) 
{hspeed=+5; sprite_index=spr_personagem_virando_dir;}
if (keyboard_check_released(vk_right))
{hspeed=0; sprite_index=spr_personagem_parando_dir;}

e esse Animation End

Código:
 

if sprite_index = spr_personagem_virando_esq
{
sprite_index = spr_personagem_andando_esq
}

if sprite_index = spr_personagem_virando_dir
{
sprite_index = spr_personagem_andando_dir
}

if sprite_index = spr_personagem_parando_dir
{
sprite_index = spr_personagem_parado_dir
}

if sprite_index = spr_personagem_parando_esq
{
sprite_index = spr_personagem_parado_esq
}
 

como quem tentar usar, pode ver que o char geralmente utiliza dois sprites pro mesmo comando!


lógicamente simples, pq usei "keyboard_check_pressed" ao invez de "keyboard_check" ?!

pq eu queria uma animação tanto ao precionar a tecla, como soltando...
e graças o seu comentário de animation end, consegui!
porem se eu no game ficar alternando as direções <><><>, uma hora o char trava momentâneamente como se fosse uma bug, então gostaria de saber se tem alguma comando que eu possa usar para completar o de cima, para que eu possa evitar esse bug

isso tb vale para o pulo

Tirulink

Número de Mensagens : 17
Idade : 31
Data de inscrição : 10/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida: Char trava quando alternada as direções!

Mensagem por Tirulink em Qui 12 Fev 2009, 13:23

e graças ao seu comentário de animation end
eu me referia ao Janx, pq ele estava me ajudando lá na seção de tutoriais!

Tirulink

Número de Mensagens : 17
Idade : 31
Data de inscrição : 10/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida: Char trava quando alternada as direções!

Mensagem por Janx em Qui 12 Fev 2009, 13:53

Use o botao EDITAR.

Bom cara, no codigo eu vi esse erro:

if (keyboard_check_pressed(vk_left))
{hspeed=-5; sprite_index=spr_personagem_virando_esq;}
if (keyboard_check_released(vk_left))
{hspeed=0; sprite_index=spr_personagem_parando_esq;}


if (keyboard_check_pressed(vk_right))
{hspeed=+5; sprite_index=spr_personagem_virando_dir;}
if (keyboard_check_released(vk_right))
{hspeed=0; sprite_index=spr_personagem_parando_dir;}


tire as partes em negrito.


Coloque isso:
Código:
if (!keyboard_check_released(vk_right) && !keyboard_check_released(vk_left))
{hspeed = 0;}

if hspeed = 0 && dircao = 1
{sprite_index=spr_personagem_parando_dir}

if hspeed = 0 && dircao = -1
{sprite_index=spr_personagem_parando_esq}

ERRO:
Você colocava para ao soltar o botao, esquerda ou direita, personagem parar. O certo seria se nao tivesse segurando, nenhum dos dois.



E no resto vc presisa adicionar o codigo:
direcao = 1 se for para a direita
direcao = -1 se for para esquerda

assim:
Código:
if (keyboard_check_pressed(vk_left))
{hspeed=-5;
sprite_index=spr_personagem_virando_esq;
direcao = -1;}

if (keyboard_check_pressed(vk_right))
{hspeed=+5;
sprite_index=spr_personagem_virando_dir;
direcao = 1;}


e no create adicione:
Código:
direcao = 1;


Acredito que isso resolva.
Flwss

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida: Char trava quando alternada as direções!

Mensagem por Tirulink em Qui 12 Fev 2009, 18:49

dessa vez nao deu certo... quando é usado o comando

Código:
if (!keyboard_check_released(vk_right) && !keyboard_check_released(vk_left))
{hspeed = 0;}

if hspeed = 0 && dircao = 1
{sprite_index=spr_personagem_parando_dir}

if hspeed = 0 && dircao = -1
{sprite_index=spr_personagem_parando_esq}

vc esta informando que as teclas estiverem livres, ele acionará
a variável de direção, que deixa a {hspeed=0}

porem o game ja começa com o botão RELEASED
então ele ja entra em modo Stand, no caso parado...

ai eu fuçando aki, qdo vc digita algum comando que contem mais de um nome

Ex: sprite_index, aparece no canto inferior da tela uma série de codes relacionados
ao que vc digitou, e foi assim que eu achei o "keyboard_check_direct"
assim como outros que tem lá
pelo nome eu deduzi que ele seria DIRETO Happy

deixei o code como estava no inicio e apenas troquei o PRESSED por DIRECT
e o problema foi resolvido lol!

mas obrigado mais uma vez por me ajudar Janx

Tirulink

Número de Mensagens : 17
Idade : 31
Data de inscrição : 10/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida: Char trava quando alternada as direções!

Mensagem por Tirulink em Sex 13 Fev 2009, 08:32

Janx, mais uma dúvida, essa nao sei como resolver...

usando o mesmo código de cima

Código:

if (keyboard_check_direct(vk_left)) &&! (keyboard_check_direct(vk_right))
{hspeed=-5; sprite_index=spr_personagem_virando_esq;}

if (keyboard_check_released(vk_left))
{hspeed=0; sprite_index=spr_personagem_parando_esq;}


if (keyboard_check_direct(vk_right)) &&! (keyboard_check_direct(vk_left))
{hspeed=+5; sprite_index=spr_personagem_virando_dir;}

if (keyboard_check_released(vk_right)) //&& (lado==0)
{hspeed=0; sprite_index=spr_personagem_parando_dir;}

usando esse comando DIRECT ao invez de PRESSED
resolveu meu problema, mas tenha um outra duvida

o char esta parado para a DIREITA, e quando vc vira para a esquerda, dê a animação
VIRANDO para a ESQUERDA, blz, até ai eu consigo...
mas quando ele esta PARADO para a ESQUERDA e eu andar para a ESQUERDA
que dê um animação dele CORRENDO para a ESQUERDA, e vice-versa!

Tirulink

Número de Mensagens : 17
Idade : 31
Data de inscrição : 10/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida: Char trava quando alternada as direções!

Mensagem por Janx em Sex 13 Fev 2009, 13:04

Bom, vc tem q conferir se ele ja nao está virado para o lado que vc apertar antes de mudar a animaçao para a dele virando. Se ele ja estiver virado para o lado que estou clicando ele apenas passar a animaçao correndo.

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida: Char trava quando alternada as direções!

Mensagem por Tirulink em Sex 13 Fev 2009, 13:23

sim, mas nao sei fazer isso no código =\

Tirulink

Número de Mensagens : 17
Idade : 31
Data de inscrição : 10/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida: Char trava quando alternada as direções!

Mensagem por Janx em Sex 13 Fev 2009, 14:35

ptz cara,
é +- assim:
Código:
if sprite_index = spr_esquerda && aperta pra direita && direcao = -1 //tiver virado para direita
{
sprite_index = spr_virar;
}

if sprite_index = spr_direita && aperta para direita && direcao = 1 //tiver virado para direita
{
sprite_index = spr_correr;
}

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida: Char trava quando alternada as direções!

Mensagem por Conteúdo patrocinado Hoje à(s) 05:58


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