[Tutorial]Jogo de Tiro em Plataforma[Parte 2]

    Compartilhe

    jiraya
    Administrador
    Administrador

    Mensagens : 1299
    Credibilidade : 54

    [Tutorial]Jogo de Tiro em Plataforma[Parte 2]

    Mensagem por jiraya em Sab Jan 08, 2011 2:17 pm

    [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:
    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.

      Data/hora atual: Seg Dez 05, 2016 9:52 pm