Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Direção do tiro em top down

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Lenzs Games
Novato
Novato
Reações: 0
Mensagens: 5

Direção do tiro em top down

Mensagem por Lenzs Games » Ter Jul 09, 2019 8:25 pm

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.

Avatar do usuário
LLGD
Programador
Programador
Reações: 0
Mensagens: 18

Re: Direção do tiro em top down

Mensagem por LLGD » Qua Jul 10, 2019 8:15 am

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)
    

Responder

Quem está online

Usuários navegando neste fórum: Bing [Bot] e 1 visitante