CLS Membro
Sexo : Mensagens : 115
| Assunto: [Tutorial]Movimentação em Plataforma Qui Dez 09, 2010 8:57 am | |
| Tutorial Movimentação em Plataforma
Autor: Suadao Tópico Original: Link 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. sprite_index=spr_player_dir} //e o sprite mudará para spr_player_dir 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. sprite_index=spr_player_esq} //e o sprite mudará para spr_player_esq
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 | |
|