Criar Inimigos

Como criar Inimigos 
Versão do Game Maker: Todas
Dificuldade: Novato

1º Dando vida aos inimigos

Essa foi uma dica que pedi para Hiperbite da BRmaker, então vou colocá-la aqui para
ajudar vocês.

Crie um evento Create e vá na aba Control clique e arraste a ação Execute a piece of code e escreva:

Código:
Vida_Boss=10;

Crie um evento de colisão com o inimigo e va na aba code arraste a ação Execute a piece of code e escreva

Código:
if y<other.y && vspeed>0//muda o 32 para a altura da sprite do player
{
vspeed=-5
with(other){instance_destroy()}//destroy o inimigo
}
else //senão
{room_restart()}//restarta a room

Como fazer um jogo de Plataforma

Como criar jogo de plataforma
Versão do Game Maker:Todas
Nivel de Experiencia: Novato

1º Pegando o Material

Sprites:
spr_play: Um menu que siginifica pra você jogar
spr_quit: Significa para você sair do jogo
spr_player: O player será o seu personagem

spr_bloco = sprite do bloco, onde o player irá pisar

Objetos:

obj_Player = o seu personagem, coloque a sprite spr_parado neste objeto
obj_Bloco = objeto onde o seu personagem irá pisar, coloque a sprite spr_bloco.

2º - Programando...

Vá no obj_Player, para começar-mos a programar:

Primeiro, vamos ter que criar as variáveis de estado:

Clique em Add Event e selecione o Create, e vá na aba code, clique e arraste a ação "Execute a piece of code":

Código:
image_speed=0.27; //velocidade da sprite
parado=true; //está parado
andando=false; //não está andando
nochao=true; //está no chão
direcao=0; //está virado para a direita
valocidade=4 //Velocidade


Agora, vamos definir outras coisas, como gravidade, consigurar variáveis,etc...

Vá novamente em Add Event e selecione o Step:

Código:
//INDICA A DIREÇÃO
if image_xscale=1 then {direcao=0} //DIREITA
if image_xscale=-1 then {direcao=1} //ESQUERDA

//INDICA SE ESTÁ PARADO
if parado=true then {sprite_index=spr_parado} //SE A VARIÁVEL PARADO FOR VERDADEIRA, MUDA PARA A SPRITE SPR_PARADO

//DEFINIÇÕES DE GRAVIDADE
if place_free(x,y+1)
{
gravity = 0.75
}
else
{
gravity = 0
}

//VELOCIDADE DE QUEDA
if (vspeed > 10) {vspeed = 10}

//PULO
if keyboard_check_pressed(vk_up) and nochao = true
{
nochao=false
vspeed=-16;
}
if keyboard_check_pressed(vk_up) and vspeed < 0 {vspeed /=2}

if nochao=false //SE A VARIÁVEL NOCHAO FOR FALSA. OU SEJA, SE NÃO ESTIVER NO CHÃO
{
sprite_index=spr_pula_cai //MUDA PARA A SPRITE SPR_PULA_CAI


Agora, vamos fazer o movimento do seu personagem:

Código:
f place_free(x-velocidade,y) x -= velocidade //Usei este código para não dar bug na colisão
parado=false //Não está parado
sprite_index=spr_andando //Muda para a sprite spr_andando
image_xscale=-1 //Muda a direção para a esquerda


Agora, selecione a opção Right:

Código:
if place_free(x+velocidade,y) x += velocidade //Usei este código para não dar bug na colisão
parado=false //Não está parado
sprite_index=spr_andando //Muda para a sprite spr_andando
image_xscale=1 //Muda a direção para a direita


Agora, faça como antes, só que na opção :

Código:
//CASO NÃO ESTEJA PRESSIONANDO NENHUMA TECLA, ELE FICA PARADO
parado=true


Bom, está quase tudo pronto, só falta a colisão com o bloco.
Então, vá no objeto obj_Bloco e marque a opção "Solid", e desmarque a "Visible".
Agora, volte para o obj_Player, e vá em Add Event e selecione a opção Collision, e depois clique no obj_Bloco:

Código:
//CONTATO SÓLIDO
move_contact_solid(direction,8)
vspeed=0
nochao=true //SE ESVITER COLIDINDO COM O BLOCO, A VARIÁVEL NOCHAO É VERDADEIRA


Agora, em "mask" coloque a sprite spr_mascara

Pronto, agora coloque os blocos, o personagem na room e teste!

Próxima parte: Criando Inimigos