CLS Membro
Sexo : Mensagens : 115
| Assunto: [Tutorial]Jogo de Tiro em Plataforma[Parte 2] Dom Dez 12, 2010 5:06 pm | |
| 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 AINDA no evento STEP, recomendo arrastar outro "Execute Code" para ficar organizado (Mais Não é necessário, se quiser pode colocar tudo junto com o outro), coloque o seguinte código: - 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 } } Caso ainda queira implementar você pode colocar algum objeto falando para recarregar etc, mais não vou fazer nessa parte do tutorial, para não complicar muito, até porque esse tutorial é básico... 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. | |
|