Tuto: Jogo de Plataforma
Bem vindos ao tutorial: Jogo de Plataforma
Nesse tutorial você vai aprender:
1.Gravidade;
2.Movimentação;
3.Troca de Sprites;
4.Variaveis.
Necessário:
1.Game Maker: Studio Standard ([Tens de ter uma conta e sessão iniciada para poderes visualizar este link])
2. 2_Sprites: Player andando pra direita e bloco.
Vamos começar:
Crie um novo projeto no GM:S.
Crie as sprites mencionadas acima e renomeias pra spPlayer e spBloco.
Crie dois objetos: obPlayer e obBloco, com suas respectivas sprites.
Configuração do obPlayer:
Evento: Create.
- Código:
nochao=false //Aqui definimos as variaveis
noar=true //Elas guardam informações.
lado=0 //Vamos precisar muito delas.
cima=0
Evento: Step.
- Código:
//Definir Variaveis :D
if place_free(x,y+1){ //Se tiver 1 pixel livre abaixo de mim
noar=true //Eu estou no ar
nochao=false //e não estou no chao
}
if !place_free(x,y+1){ //Se não tiver um pixel livre abaixo de mim
nochao=true //Eu estou no chao
noar=false //E não estou no ar
}
if keyboard_check(ord("D")){ //Se eu apertar D
lado=0 //Estou virado para direita
image_xscale=1 //Deixa a imagem normal
}
if keyboard_check(ord("A")){ //Se eu apertar A
lado=1 //Estou virado para a esquerda
image_xscale=-1 //Inverte a imagem
}
if keyboard_check(ord("W")){ //Se eu apertar !
cima=1 //Estou pulando Variável=cima
}
//Gravidade :D
if noar=true { //Se eu estiver no ar
gravity=0.7 //Gravidade ativada
}
if nochao=true { //Se eu tiver no chao
gravity=0 //Não tem gravidade
vspeed=0
}
//Andar
if keyboard_check(ord("D")) and lado=0{//Se eu apertar D e estiver na direita
if place_free(x+4,y){//e se tiver livre a minha frente
x+=4 // Eu ando
}
}
if keyboard_check(ord("A")) and lado=1{//Mesma coisa que a de cima.
if place_free(x-4,y){
x-=4
}
}
if keyboard_check(ord("W")) and cima=1 and nochao=true{//Se eu apertar w
if place_free(x,y-2){//E se tiver livre 2 pixels acima de mim
vspeed=-11//Pular
cima=0//Não posso mais pular
}}
Evento: Colision obBloco.
- Código:
move_contact_solid(direction,12);//Parar
vspeed=0//Não cair
Nosso jogo está completo!, experimente adicionar o chão e as paredes e colocar nosso objeto player na fase .
Bom proveito.
nochao=false //Aqui definimos as variaveis
noar=true //Elas guardam informações.
lado=0 //Vamos precisar muito delas.
cima=0
//Definir Variaveis :D
if place_free(x,y+1){ //Se tiver 1 pixel livre abaixo de mim
noar=true //Eu estou no ar
nochao=false //e não estou no chao
}
if !place_free(x,y+1){ //Se não tiver um pixel livre abaixo de mim
nochao=true //Eu estou no chao
noar=false //E não estou no ar
}
if keyboard_check(ord("D")){ //Se eu apertar D
lado=0 //Estou virado para direita
image_xscale=1 //Deixa a imagem normal
}
if keyboard_check(ord("A")){ //Se eu apertar A
lado=1 //Estou virado para a esquerda
image_xscale=-1 //Inverte a imagem
}
if keyboard_check(ord("W")){ //Se eu apertar !
cima=1 //Estou pulando Variável=cima
}
//Gravidade :D
if noar=true { //Se eu estiver no ar
gravity=0.7 //Gravidade ativada
}
if nochao=true { //Se eu tiver no chao
gravity=0 //Não tem gravidade
vspeed=0
}
//Andar
if keyboard_check(ord("D")) and lado=0{//Se eu apertar D e estiver na direita
if place_free(x+4,y){//e se tiver livre a minha frente
x+=4 // Eu ando
}
}
if keyboard_check(ord("A")) and lado=1{//Mesma coisa que a de cima.
if place_free(x-4,y){
x-=4
}
}
if keyboard_check(ord("W")) and cima=1 and nochao=true{//Se eu apertar w
if place_free(x,y-2){//E se tiver livre 2 pixels acima de mim
vspeed=-11//Pular
cima=0//Não posso mais pular
}}
move_contact_solid(direction,12);//Parar
vspeed=0//Não cair
Última edição por oMatBR em Seg maio 25, 2015 12:00 pm, editado 3 vez(es) (Motivo da edição : Tutorial Editado.)