Página 1 de 1

Direção do tiro em top down

Enviado: Ter Jul 09, 2019 8:25 pm
por Lenzs Games
Opa, eu to fazendo um jogo top down com movimentos em 4 direções, movimentado apenas nas setas do teclado, mas como sou iniciante, eu não sei como fazer o tiro sair na direção em que o objeto ta virado.

Alguem me ajuda por favor.

Re: Direção do tiro em top down

Enviado: Qua Jul 10, 2019 8:15 am
por LLGD
Existem várias formas de fazer isso, veja que precisamos saber qual o tipo de movimento você está usando.
  • Você aperta para a direita e o personagem troca a sprite para a direita?
    Se for assim, você pode usar no evento que você quer atirar (botão esquerdo do mouse como exemplo):

    Código: Selecionar todos

    var tiro = instance_create(x,y,objTiro); //Cria o objeto tiro
    switch(sprite_index) //Aqui criamos um interruptor que vai selecionar qual sprite o personagem está
    {
        case sprPersonagemDireita: //Se o personagem estiver apontando para a direita
            tiro.hspeed = 5; //Define que o tiro deve ir para a direita
        break;
        case sprPersonagemEsquerda:
            tiro.hspeed = -5;
        break;    
        case sprPersonagemCima:
            tiro.vspeed = -5;
        break;
        case sprPersonagemBaixo:
            tiro.vspeed = 5;
        break;
        default:
            show_message("A sprite do personagem não é nenhuma das citadas acima.");
            with(tiro)
            {
                instance_destroy();
            }
        break;
    }
  • Você aperta para a direita e a rotação da imagem se torna 0?
    Caso o image_angle do personagem vire, e você não troque as sprites, no evento que você quer atirar (botão esquerdo do mouse como exemplo):

    Código: Selecionar todos

    var tiro = instance_create(x,y,objTiro); //Cria o objeto tiro
    tiro.direction = image_angle; //Define que a direção do tiro é a mesma do angulo do personagem
    tiro.speed = 5; //Define a velocidade do tiro.
    tiro.image_angle = image_angle; //Define que o angulo da imagem do tiro deve ser igual do personagem (no caso dos tiros em forma de gota por exemplo)