Tutorial - Movimentação em plataforma

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

Qualidade Tutorial - Movimentação em plataforma

Mensagem por Suadao em Ter 22 Jun 2010, 16:07

Tutorial
Movimentação em plataforma


Bem, eu sei que já devem existir muitos tutoriais dizendo à respeito de movimentação em plataforma, mas pra tomar tempo e ajudar os iniciantes, decidi criar esse novo. Dificuldade iniciante. Estou usando o GM8 PRO, mas creio que funcione em outras versões.

Desenvolvimento


Primeiramente, deveremos criar a nossa gravidade, para isso abra o objeto do personagem, crie um evento Step e coloque o seguinte código:
Código:
if place_free(x,y+2){gravity=1} //Se estiver livre de colisões 2 pixels abaixo, a gravidade será 1
else //senão
gravity=0 //a gravidade será 0

Agora sim começaremos a movimentação, primeiramente faremos o personagem andar para a direita caso a tecla "direita" seja pressionada, para isso abra novamente nosso código do Step do objeto do personagem, e adicione o seguinte:
Código:
if keyboard_check(vk_right) //Se a tecla direita for pressionada
{if place_free(x+5,y){x+=5} //e se estiver livre de colisões 5 pixels a frente, andará 5 pixels para frente.
image_xscale=1} //e o sprite olhará para a direita

Agora faremos com que o personagem andar para a esquerda caso a tecla "esquerda" seja pressionada, para isso adicione isso ao código do Step do nosso personagem:
Código:
if keyboard_check(vk_left) //Se a tecla esquerda for pressionada
{if place_free(x-5,y){x-=5} //e se estiver livre de colisões 5 pixels atras, voltará 5 pixels.
image_xscale=-1} //e o sprite olhará para a esquerda

Pronto, agora nosso personagem já anda para a direita e esquerda, agora faremos com que nosso personagem pule, para isso adicione isso ao código Step do nosso personagem:
Código:
if keyboard_check_pressed(vk_up) //Se a tecla cima for pressionada
{if!place_free(x,y+2){vspeed=-12}} //e se não estiver livre de colisões 2 pixels abaixo, a velocidade vertical irá ser -12, ou seja, ele pulará.

Nossa movimentação está feita! Agora para o personagem não passar pelos blocos, no objeto do bloco marque a opção "Solid" e no objeto do personagem, no evento Collision>objeto do bloco adicione o código:
Código:
move_contact_solid(direction,12)
speed=0

Observação: Não se esqueçam de colocar a Origin do sprite do personagem como Center.

Engine

Caso não tenha conseguindo fazer algo, baixe a engine: Download (Clique)




Última edição por Suadao em Sex 13 Jan 2012, 10:02, editado 2 vez(es)

Suadao

Número de Mensagens : 1035
Idade : 25
Data de inscrição : 22/11/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Super Games em Ter 22 Jun 2010, 18:02

Otimo tutorial Suadao, você gosta mesmo de ajudar, espero outros turoriais de você!

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Suadao em Ter 22 Jun 2010, 19:12

Super Games escreveu:Otimo tutorial Suadao, você gosta mesmo de ajudar, espero outros turoriais de você!

Obrigado aí, Super Games, eu curto ajudar sim Happy

Valew! flw

Suadao

Número de Mensagens : 1035
Idade : 25
Data de inscrição : 22/11/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Mystery_boy_maker em Qua 23 Jun 2010, 22:42

Grande Suadao Otimo tutorial quando eu iniciei se tivece um tutorial assim curto e direto eu teria aprendido mais rapido hehe
continue assim !

Mystery_boy_maker

Número de Mensagens : 908
Idade : 23
Data de inscrição : 25/01/2010
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Suadao em Qua 23 Jun 2010, 22:44

Mystery_boy_maker escreveu:Grande Suadao Otimo tutorial quando eu iniciei se tivece um tutorial assim curto e direto eu teria aprendido mais rapido hehe
continue assim !

Valeuzão aí! Mas rápido do que você aprendeu, impossível! xD

Valew! flw

Suadao

Número de Mensagens : 1035
Idade : 25
Data de inscrição : 22/11/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por GuiEdu em Qua 23 Jun 2010, 22:49

muito bom esse tuto Very Happy
para eu aprender isso, levei algum tempo procurando pelo fórum, tenho certeza que este ajudará muitos que ainda não sabem
Parabéns :C:

GuiEdu

Número de Mensagens : 505
Idade : 23
Data de inscrição : 04/06/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Suadao em Qui 24 Jun 2010, 12:58

GuiEdu escreveu:muito bom esse tuto Very Happy
para eu aprender isso, levei algum tempo procurando pelo fórum, tenho certeza que este ajudará muitos que ainda não sabem
Parabéns :C:

Que bom que gostou Very Happy. Espero que ajude mesmo Happy

Valew! flw

Suadao

Número de Mensagens : 1035
Idade : 25
Data de inscrição : 22/11/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Dancity em Qui 24 Jun 2010, 13:10

Muito bom esse tuto... espero mais tutoriais como este... ;)
sorrindo

Dancity

Ranking : Nota A
Número de Mensagens : 1339
Data de inscrição : 11/01/2009
Notas recebidas : A
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por GuguBerlandia em Qui 29 Jul 2010, 18:10

Nuss Man vlw de coração vey Very Happy !

GuguBerlandia

Número de Mensagens : 34
Data de inscrição : 26/07/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Fernando¹³ em Ter 07 Set 2010, 12:23

Cara pesso sinceras desculpas cê estou ne um post inativo ou algo do tipo.
Mais toda vez que vou mexer meu personagem pra esq ou dir aparese o seguinte erro

ERROR in
action number 1
of Step Event
for object obj_jony:

Error in code at line 16:
sprite_index=spr_player_esq} //e o sprite mudará para spr_player_esq
^
at position 15: Unknown variable spr_player_esq


Caso posão me ajudar. a e quando teclo para cima ele pula nomal só para os lados msm que da esse erro vlw[i]

Fernando¹³

Número de Mensagens : 2
Data de inscrição : 07/09/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por †Ceifador em Ter 07 Set 2010, 12:27

O erro informa que o identificador spr_player_esq não existe. De uma olhada na sua sprite pois o nome deve estar ligeiramente diferente do que você escreveu no código.

†Ceifador

Número de Mensagens : 154
Data de inscrição : 28/08/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Suadao em Ter 07 Set 2010, 12:29

Fernando¹³ escreveu:Cara pesso sinceras desculpas cê estou ne um post inativo ou algo do tipo.
Mais toda vez que vou mexer meu personagem pra esq ou dir aparese o seguinte erro

ERROR in
action number 1
of Step Event
for object obj_jony:

Error in code at line 16:
sprite_index=spr_player_esq} //e o sprite mudará para spr_player_esq
^
at position 15: Unknown variable spr_player_esq


Caso posão me ajudar. a e quando teclo para cima ele pula nomal só para os lados msm que da esse erro vlw[i]

Isso acontece porque não existe um sprite chamado spr_player_esq ou spr_player_dir no seu projeto. Se quiser, crie um sprite do personagem andando para a direita e coloque o nome de spr_player_dir e spr_player esq para a esquerda. Ou então podes tirar os códigos "sprite_index=spr_player_dir" e "sprite_index=spr_player_esq", aí o sprite não mudará ao pressionar as teclas direita/esquerda.

Valew! flw

Suadao

Número de Mensagens : 1035
Idade : 25
Data de inscrição : 22/11/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Salathiel em Ter 07 Set 2010, 14:34

kkk,uso esses mesmo códigos,não muda nada mesmo, vi esses códigos em uma engine,deve ser sua,XD.
Parabéns,tuto ta bem explicado,parabéns também por disponibilizar uma engine isso ajuda bestante gente.

Salathiel

Número de Mensagens : 346
Idade : 20
Data de inscrição : 29/05/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://salathiel1337.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por christian max lider em Sab 25 Set 2010, 18:34

este é o melhor tutorial para iniciantes eu estou ate criando um game do naruto

christian max lider

Número de Mensagens : 10
Data de inscrição : 13/09/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Daiane_190 em Sab 09 Out 2010, 16:08

Como eu insiro o código?
Eu so novata e a minha versao é 7.0 pale

Daiane_190

Número de Mensagens : 1
Data de inscrição : 09/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Suadao em Sab 09 Out 2010, 22:14

Daiane_190 escreveu:Como eu insiro o código?
Eu so novata e a minha versao é 7.0 pale

Vá na aba control (nas propriedades do objeto, claro), e na parte de code você verá uma folha de papel, clique nele (a primeira folha de papel), arraste para Actions e digite seu código. Simples assim.

Valew! flw

Suadao

Número de Mensagens : 1035
Idade : 25
Data de inscrição : 22/11/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por DragonWarrior em Seg 11 Out 2010, 19:54

Realmente é muito bom esse tutorial mas tipo assim aquela primeira coisa que devemos fazer, aquele primeiro negócio que você mandou agente fazer quando abrisse o projeto é pra colocar como um evento global ou como é que é? porque logo abaixo você manda agente por um daquele no right.

DragonWarrior

Número de Mensagens : 61
Data de inscrição : 11/10/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Jonhy8000 em Qua 13 Out 2010, 19:44

Vlw kra mto bom o tuto.

Jonhy8000

Número de Mensagens : 3
Data de inscrição : 13/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por romulo_rla em Qui 11 Nov 2010, 19:40

Valeu cara, me ajudou muito no meu novo jogo de Plataforma!

Movimentação muito boa!
Cool

romulo_rla

Número de Mensagens : 45
Idade : 26
Data de inscrição : 02/09/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.zoomdicas.blogspot.com

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por carlosh99 em Qua 18 Maio 2011, 19:12

Primeiramente me desculpe por reviver esse tópcio.

O meu jogo tava com muitos erros então eu resolvi refazer os movimentos de acordo com esse tutorial. Os erros foram todos corrigidos, mas as minhas sprites são animadas, então eu quero saber como mudar a velocidade da sprite e como fazer para voltar para a sprite do player parado. Obrigado.

carlosh99

Número de Mensagens : 7
Idade : 17
Data de inscrição : 20/08/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.twitter.com/CarlosFreitas99

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Suadao em Qua 18 Maio 2011, 21:24

carlosh99
[...]então eu quero saber como mudar a velocidade da sprite...
Use o comando image_speed e defina a velocidade que você quer (por número decimal). Um exemplo de velocidade que eu uso é 0.5, então ficaria image_speed=0.5. Você pode utilizar esse comando no evento Create (Clique no botão Add Event o Create, que tem uma lâmpada em cima), selecione executando um código (nas propriedades do objeto, clicar na aba control e logo arrastar o bloco de texto para o lado, onde você verá escrito Actions) e adicione o código no bloco aberto.

[...]como fazer para voltar para a sprite do player parado.
Você deverá ter a sprite do seu player parado e usar o código image_index=nome do sprite do player parado no evento que você quer que troque de sprite.

Suadao

Número de Mensagens : 1035
Idade : 25
Data de inscrição : 22/11/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por carlosh99 em Qui 19 Maio 2011, 11:49

A velocidade da sprite deu certo, vlw! =D

Mas para voltar para sprite do player parado deu errado, o player continuou na sprite de andar esquerda/direita.
Eu coloquei o código do Step assim:
Código:
if place_free(x,y+2){gravity=1}
else
gravity=0

if keyboard_check(vk_right)
{if place_free(x+5,y){x+=5}
sprite_index=Player_right}

if keyboard_check(vk_left)
{if place_free(x-5,y){x-=5}
sprite_index=Player_left}

if keyboard_check_pressed(vk_up)
{if!place_free(x,y+2){vspeed=-16}}

if keyboard_check_released(vk_right)
{speed=0
image_index=Player_stop_right}
 
 if keyboard_check_released(vk_left)
{speed=0
 image_index=Player_stop_left}
Eu tenho que criar um evento de Key_released pra dar certo? Se não o que?

carlosh99

Número de Mensagens : 7
Idade : 17
Data de inscrição : 20/08/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.twitter.com/CarlosFreitas99

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Supersonic933 em Qui 19 Maio 2011, 13:36

carlosh99 escreveu:A velocidade da sprite deu certo, vlw! =D

Mas para voltar para sprite do player parado deu errado, o player continuou na sprite de andar esquerda/direita.
Eu coloquei o código do Step assim:
Código:
if place_free(x,y+2){gravity=1}
else
gravity=0

if keyboard_check(vk_right)
{if place_free(x+5,y){x+=5}
sprite_index=Player_right}

if keyboard_check(vk_left)
{if place_free(x-5,y){x-=5}
sprite_index=Player_left}

if keyboard_check_pressed(vk_up)
{if!place_free(x,y+2){vspeed=-16}}

if keyboard_check_released(vk_right)
{speed=0
image_index=Player_stop_right}
 
 if keyboard_check_released(vk_left)
{speed=0
 image_index=Player_stop_left}
Eu tenho que criar um evento de Key_released pra dar certo? Se não o que?
Acho que deixar os sprites em letra minúscula funciona...(na pasta sprites e também no code).

Supersonic933

Ranking : Nota E
Número de Mensagens : 396
Data de inscrição : 14/02/2011
Notas recebidas : E
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://planetaanalisandogames.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por carlosh99 em Qui 19 Maio 2011, 13:51

Eu já consegui fazendo o evento Key released Left/Right sem código, arrastando, vlw a ajuda de todos, muito bom o tutorial! =D

carlosh99

Número de Mensagens : 7
Idade : 17
Data de inscrição : 20/08/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.twitter.com/CarlosFreitas99

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por lehzinhaa em Qua 16 Nov 2011, 22:44

Sleep vallew aii man'n

Editado por Joton
Não reviva tópicos ao menos que seja uma pergunta construtiva

lehzinhaa

Número de Mensagens : 1
Idade : 20
Data de inscrição : 16/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

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por novinhouzik em Sex 02 Mar 2012, 09:32

Suadao escreveu:
Tutorial
Movimentação em plataforma


Bem, eu sei que já devem existir muitos tutoriais dizendo à respeito de movimentação em plataforma, mas pra tomar tempo e ajudar os iniciantes, decidi criar esse novo. Dificuldade iniciante. Estou usando o GM8 PRO, mas creio que funcione em outras versões.

Desenvolvimento


Primeiramente, deveremos criar a nossa gravidade, para isso abra o objeto do personagem, crie um evento Step e coloque o seguinte código:
Código:
if place_free(x,y+2){gravity=1} //Se estiver livre de colisões 2 pixels abaixo, a gravidade será 1
else //senão
gravity=0 //a gravidade será 0

Agora sim começaremos a movimentação, primeiramente faremos o personagem andar para a direita caso a tecla "direita" seja pressionada, para isso abra novamente nosso código do Step do objeto do personagem, e adicione o seguinte:
Código:
if keyboard_check(vk_right) //Se a tecla direita for pressionada
{if place_free(x+5,y){x+=5} //e se estiver livre de colisões 5 pixels a frente, andará 5 pixels para frente.
image_xscale=1} //e o sprite olhará para a direita

Agora faremos com que o personagem andar para a esquerda caso a tecla "esquerda" seja pressionada, para isso adicione isso ao código do Step do nosso personagem:
Código:
if keyboard_check(vk_left) //Se a tecla esquerda for pressionada
{if place_free(x-5,y){x-=5} //e se estiver livre de colisões 5 pixels atras, voltará 5 pixels.
image_xscale=-1} //e o sprite olhará para a esquerda

Pronto, agora nosso personagem já anda para a direita e esquerda, agora faremos com que nosso personagem pule, para isso adicione isso ao código Step do nosso personagem:
Código:
if keyboard_check_pressed(vk_up) //Se a tecla cima for pressionada
{if!place_free(x,y+2){vspeed=-12}} //e se não estiver livre de colisões 2 pixels abaixo, a velocidade vertical irá ser -12, ou seja, ele pulará.

Nossa movimentação está feita! Agora para o personagem não passar pelos blocos, no objeto do bloco marque a opção "Solid" e no objeto do personagem, no evento Collision>objeto do bloco adicione o código:
Código:
move_contact_solid(direction,12)
speed=0

Observação: Não se esqueçam de colocar a Origin do sprite do personagem como Center.

Engine

Caso não tenha conseguindo fazer algo, baixe a engine: Download (Clique)



mano quase deu certo mais meu boneco corre sozinho pra direita e qundo ele pula que encosta na plataforma de novo ele some!!!
foi so isso q deu erra do fora isso tudo certo valew
bounce me ajudem ai ein!!!
Editado por LCS: Não faça posts duplos, se quiser escrever mais alguma coisa no post use o botão "EDITAR".
Alertado!
O post posterior foi apagdo e colocado nesse mesmo post.


Editado por saim: deixe as perguntas para a seção de perguntas e respostas. Você pode usar um link para indicar qual tutorial você está seguindo e que não está funcionando. Se quiser direcionar a pergunta para o criador do tutorial, use uma MP.

novinhouzik

Número de Mensagens : 1
Data de inscrição : 02/03/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial - Movimentação em plataforma

Mensagem por Conteúdo patrocinado Hoje à(s) 10:29


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