[Autor: makeriniciante ]
Autor: Isaias
Parte 2 do tutorial de como criar um platform shooter ;]
Nessa Parte vou ensinar como criar armas e o controle dela, e coisas como
reload etc.
crie um objeto chamado obj_arma, e selecione o sprite da arma, agora vamos
aos códigos
no evento CREATE, vamos setar algumas variaveis para controlar o tanto de
balas que a arma tem:
Agora vamos no evento STEP e coloque o seguinte:
Agora vamos criar um objeto, chame-o de "bala" (sem aspas), no evento CREATE da bala, coloque:
Pronto!, nessa parte é só isso, na próxima vamos criar o personagem para finalmente testar o jogo.
Autor: Isaias
Parte 2 do tutorial de como criar um platform shooter ;]
Nessa Parte vou ensinar como criar armas e o controle dela, e coisas como
reload etc.
crie um objeto chamado obj_arma, e selecione o sprite da arma, agora vamos
aos códigos
no evento CREATE, vamos setar algumas variaveis para controlar o tanto de
balas que a arma tem:
- Código:
total_balas = 60; // total de balas
max_pente = 30; // máximo de bala que pode ter no "pente"
total_pente= 30; // Total de balas que tem no pente
Agora vamos no evento STEP e coloque o seguinte:
- Código:
if(image_angle >90 and image_angle<270) // isso serve pra arma não ficar de ponta cabeça quando for virada para o outro lado
{
image_yscale=-1;//vira a sprite
}
else
{
image_yscale=1;//vira a sprite
}
image_angle=point_direction(x,y,mouse_x,mouse_y);//deixa a arma na posiçaõ do mouse
x = player.x-3; // deixa a arma na mesmo lugar do player (apesar do player não existir AINDA, já vamos setar a arma na mesma posição
y = player.y+5;// deixa a arma na mesmo lugar do player (apesar do player não existir AINDA, já vamos setar a arma na mesma posição
- Código:
if(mouse_check_button(mb_left) and total_pente>0){ // se tiver balas no pente e o botão esquerdo for pressionado...
instance_create(x,y,bala); // ele cria o objeto bala (que iremos criar depois)
total_pente-=1; // diminui uma bala no pente
direcao=image_angle; // pega a direção que o mouse está
}// termina o if
if(keyboard_check_pressed(ord('R')) and total_pente=0 and total_balas!=0){ // se a letra R for apertada e não tiver bala no pente, e ti ver mais que uma bala no total
if(total_balas>max_pente){ // se o total de balas for maior que a quantidade máxima de balas no pente
total_balas = total_balas-max_pente; // diminui o total de balas
total_pente = max_pente; // coloca tudo no pente
}else{ // senao, obviamente o total de balas é menor que as balas máxima do pente
total_pente=max_pente; // coloca todas as balas no pente
total_balas=0; // zera o total de balas
}
}
Agora vamos criar um objeto, chame-o de "bala" (sem aspas), no evento CREATE da bala, coloque:
- Código:
direcao=obj_arma.image_angle; // pega a direção que o obj_arma está apontando
image_angle=direcao; // muda o angulo para o mesmo da arma
motion_set(direcao,17); //faz a bala ir na mesma direção que a bala está apontada, 17 é a velocidade da bala
Pronto!, nessa parte é só isso, na próxima vamos criar o personagem para finalmente testar o jogo.