Conectar-se
Quem está conectado
27 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 27 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 04/06/2010
Número de Mensagens : 505
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

[RESOLVIDO]movimento de personagem

em Ter 08 Jun 2010, 16:26
como fazer para quando apertar direita, aparecer o sprite do personagem andando à direita e esquerda aparecer o sprite do personagem andando à esquerda?
(em código)...

Mas quando soltar o botão de direção, ele pára virado para o lado apertado...
(tipo mário)
scratch


Última edição por GuiEdu em Qua 23 Jun 2010, 22:39, editado 1 vez(es)
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

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

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

Re: [RESOLVIDO]movimento de personagem

em Ter 08 Jun 2010, 16:46
siga o exemplo:
create:
char = sprite_parado

evento step:
if keyboard_check_pressed(vk_right)
{
char = spr_direita
}

evento draw:
draw_sprite(char,-1,x,y)
avatar
Data de inscrição : 16/08/2008
Número de Mensagens : 374
Insígnias de JAM :

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

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

Re: [RESOLVIDO]movimento de personagem

em Ter 08 Jun 2010, 16:49
é mais facil usar sprite_index ...
[no step]
Código:

if keyboard_check_pressed(vk_right)
{
sprite_index = spr_direita
}
avatar
Data de inscrição : 21/05/2010
Número de Mensagens : 110
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuáriohttp://www.orkut.com.br/Main#Profile?uid=12612551030963156921

Re: [RESOLVIDO]movimento de personagem

em Ter 08 Jun 2010, 17:22
Ou senão, use uma sprite virada para a DIREITA e use isso

Código:
if (keyboard_check(vk_right) == true) {
  image_xscale = 1
  hspeed = 5
}

if (keyboard_check(vk_left) == true) {
  image_xscale = -1
  hspeed = -5
}

Se quiser que ele fique parado para frente:

Código:
if (keyboard_check(vk_right) == true) {
  image_xscale = 1
  hspeed = 5
}

if (keyboard_check(vk_left) == true) {
  image_xscale = -1
  hspeed = -5
}

if (keyboard_check_released(vk_left)) && (keyboard_check_released(vk_right))
{
  sprite_index = parado
  hspeed = 0
}
PS: Nos códigos acima já tem o movimento de andar...
avatar
Data de inscrição : 25/03/2010
Número de Mensagens : 666
Insígnias de JAM :

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

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

Re: [RESOLVIDO]movimento de personagem

em Ter 08 Jun 2010, 17:23
Complementando o que o Isaias falou.
O código dele faz você andar mas acho que ando voce para de precionar o botão para direita ele nem sempre volta pro lado correto.
Para isso temos que usar um váriavel que vai controlar a direção. Coloque no CREATE:
Código:
dir=direita
Se seu personagem começar indo para a esquerda coloque:
Código:
dir=esquerda

Agora no STEP coloca:
Código:
if keyboard_check_pressed(vk_right)
{
sprite_index = spr_direita
dir=direita
}
Bom essa função checa se o botão que está em parêntese está pressionado (no caso a seta para direita). Você encontra o código de cada tecla no manual do próprio gm, é só buscar lá vk_right.
Retomando... O código quer dizer: Se o botão pra direta estiver pressionado a sprite do objeto vai ser dele andando para direita e a váriavel dir vai ser igual direita.

Faça isso com as outras direções, substituindo a tecla entre parenteses pela tecla correspondente, a sprite dele se movendo na direção desejada e trocar direita pela direção desejada.

Adicione um evento Animatio End (Add Event > Other). Esse evento é ativado quando a animação de um sprite termina. Nele coloque:

Código:
if dir=direita {sprite_index=spr_paradodireita}
if dir=esquerda {sprite_index=spr_paradoesquerda}
Supondo que o player só tem as direções direita e esquerda, quando a animação de movimento acabar o pc vai verificar se a ultima movimentação foi para direita (dir=direita) ou esquerda (dir=esquerda) e vai colocar o sprite do player de acordo com o ultimo movimento.
avatar
Data de inscrição : 21/05/2010
Número de Mensagens : 110
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuáriohttp://www.orkut.com.br/Main#Profile?uid=12612551030963156921

Re: [RESOLVIDO]movimento de personagem

em Ter 08 Jun 2010, 17:28
Quanto menos sprite o jogo tiver, mais leve e melhor fica... Imagine spr_direita

image_xscale = 1
(quando aperta direita)

image_xscale = -1
(quando aperta esquerda)
avatar
Data de inscrição : 04/06/2010
Número de Mensagens : 505
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]movimento de personagem

em Qua 23 Jun 2010, 22:38
valew galera

Por favor, podem trancar o tópico Laughing
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