Descrição: Aqui aprenderemos a fazer um jogo de plataforma. Percebi que mesmo com tantos tutoriais, ainda tem gente com dúvidas nesse assunto. Então resolvi ajuda a todos que estiverem com dúvidas.
Plataforma: Gmae Maker 8.0 Pro
Nível de dificuldade: Fácil
Vamos começar!
1ª passo:
Comece desenhando um quadrado como player: um para a direita e outra pra esquerda, ou se ja estiver desenhado outros, tudo bem. Chame-o de spr_jogador.
2ª passo:
Agora desenhe o chão.
3ª passo:
Crie um objeto e chame-o de obj_jogador. Marque-o como "Solid". Crie um evento "Create" e vá na aba "Control" e arraste o botão "Execute code". Abra ele e coloque o seguinte código:
- CÓDIGO:
velocidade_do_player=5
pulo_do_player=-8
Esplicando o código: a velocidade do jogador vai ser 5 e a altura do seu pulo vai ser -8.
Nesse caso, o computador entende um numero negativo para cima e o positivo para baixo.
4ª passo:
Crie um evento "Step" no obj_jogador e coloque o seguinte código:
- CÓDIGO:
if place_free(x,y + 1)
{
gravity = 0.5
}
else
{
gravity = 0
}
if keyboard_check(vk_right)and not keyboard_check(vk_left)
repeat(velocidade_do_player)
{
if place_free(x+1,y)
x+=1
direcao=1
}
if keyboard_check(vk_left)and not keyboard_check(vk_right)
repeat(velocidade_do_player)
{
if place_free(x-1,y)
x-=1
direcao=-1
}
if keyboard_check_pressed(vk_up){
if not place_free(x,y+1){
vspeed=pulo_do_player
}
}
if keyboard_check_released(vk_up)and vspeed <= 0{
vspeed/=2
}
Explicando o código: Se tiver um pixel abaixo, ele vai cair. Caso contrário, ele ficará parado. Se você apertar a seta direita e não apertar a esquerda, ele irá andar para a direita.Se você apertar a seta ~esquerda e não apertar a direita, ele irá andar para a esquerda. Se apertar a seta pra cima, ele irá pular.
5ª passo:
Agora crie um objeto e chame-o de obj_chao. Marque-o como "Solid".
6ª passo:
Voltando ao obj_jogador, vamos la e criamos um evento "Collision - obj_chao". Coloque o seguinte código nele:
- CÓDIGO:
if vspeed > 0 and not place_free(x,y + vspeed)
{
move_contact_solid(direction,vspeed)
}
vspeed = 0
Explicando o código: Quando velocidade vertical for maior que e nao tiver e não tiver espaço abaixo, se cair em alguma coisa sólida(obj_chao), sua velocidade vertical será 0.
7ª passo:
Crie uma room, coloque o chão na room e coloque o jogador. Caso não funcione, releia os códigos ou pergunte aqui mesmo!
Nenhum comentário:
Postar um comentário