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
» Colisões não funcionando
por RastaMaan Ontem à(s) 19:49

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Ontem à(s) 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21


[RESOLVIDO]movimento de personagem

5 participantes

Ir para baixo

[RESOLVIDO]movimento de personagem Empty [RESOLVIDO]movimento de personagem

Mensagem por GuiEdu 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)
GuiEdu
GuiEdu

Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios : [RESOLVIDO]movimento de personagem 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

[RESOLVIDO]movimento de personagem Empty Re: [RESOLVIDO]movimento de personagem

Mensagem por itallo 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)
itallo
itallo

Games Ranking : Nota C

Notas recebidas : B - D
Data de inscrição : 26/08/2009
Reputação : 12
Número de Mensagens : 970
Prêmios : [RESOLVIDO]movimento de personagem Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 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

[RESOLVIDO]movimento de personagem Empty Re: [RESOLVIDO]movimento de personagem

Mensagem por Isaias 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
}
Isaias
Isaias

Data de inscrição : 16/08/2008
Reputação : 3
Número de Mensagens : 374
Prêmios : [RESOLVIDO]movimento de personagem 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

http://isaiasramos.com

Ir para o topo Ir para baixo

[RESOLVIDO]movimento de personagem Empty Re: [RESOLVIDO]movimento de personagem

Mensagem por giosepeluiz 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...
giosepeluiz
giosepeluiz

Data de inscrição : 21/05/2010
Reputação : 1
Número de Mensagens : 110
Prêmios : [RESOLVIDO]movimento de personagem 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

http://www.orkut.com.br/Main#Profile?uid=12612551030963156921

Ir para o topo Ir para baixo

[RESOLVIDO]movimento de personagem Empty Re: [RESOLVIDO]movimento de personagem

Mensagem por victor_aco 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.
victor_aco
victor_aco

Data de inscrição : 25/03/2010
Reputação : 2
Número de Mensagens : 666
Prêmios : [RESOLVIDO]movimento de personagem 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

[RESOLVIDO]movimento de personagem Empty Re: [RESOLVIDO]movimento de personagem

Mensagem por giosepeluiz 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)
giosepeluiz
giosepeluiz

Data de inscrição : 21/05/2010
Reputação : 1
Número de Mensagens : 110
Prêmios : [RESOLVIDO]movimento de personagem 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

http://www.orkut.com.br/Main#Profile?uid=12612551030963156921

Ir para o topo Ir para baixo

[RESOLVIDO]movimento de personagem Empty Re: [RESOLVIDO]movimento de personagem

Mensagem por GuiEdu Qua 23 Jun 2010, 22:38

valew galera

Por favor, podem trancar o tópico Laughing
GuiEdu
GuiEdu

Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios : [RESOLVIDO]movimento de personagem 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

[RESOLVIDO]movimento de personagem Empty Re: [RESOLVIDO]movimento de personagem

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


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