Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thales Rodrigues

Calcular sentido de um tiro

Recommended Posts

Oi, gente!

 

Eu sou iniciante em programação AS3 e sei o básico da linguagem.

 

Eu estou trabalhando em um jogo em que você tem um stick com uma arma, daí começa a aparecer vários zumbis e você tem de matá-los antes que eles chegem perto de você. O jogo é visto de cima.

 

Eu já consegui fazer o braço do stick girar de acordo com seu mouse usando o seguinte código:

 

stage.addEventListener(Event.ENTER_FRAME, anima);

function anima(Event):void
{	
    var pX:Number = mouseX - stick.x;
    var pY:Number = mouseY - stick.y;
    var angulo:Number = Math.atan2(pY,pX) * 180/Math.PI;
    stick.braco.rotation = angulo;
}

 

Eu tambem sei fazer a bala sair da arma quando você atira, mas o que eu quero saber é um jeito de calcular o sentido da bala.

A velocidade média da bala é 30 pixels por frame.

Por exemplo, eu atirei no ângulo de 30º, eu quero saber como calcular quantos pixels a bala vai andar no eixo X e Y a cada frame, respeitando sua velocidade média.

Compartilhar este post


Link para o post
Compartilhar em outros sites

y = Seno do ângulo * 30

x = Cosseno do ângulo *30

 

Ou é isso ou é ao contrário, mas acho que é isso mesmo.

 

Você vai ter que converter o ângulo para radianos, só dividindo por 180 e multiplicando por PI.

 

Qualquer dúvida posta ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

y = Seno do ângulo * 30

x = Cosseno do ângulo *30

 

Ou é isso ou é ao contrário, mas acho que é isso mesmo.

 

Você vai ter que converter o ângulo para radianos, só dividindo por 180 e multiplicando por PI.

 

Qualquer dúvida posta ai.

 

Eu já achei a fórmula depois de dias e dias pesquisando...

 

 

var velMedia:Number = 30;

velX = Math.cos(stick.braco.rotation * Math.PI / 180) * velMedia;
velY = Math.sin(stick.braco.rotation * Math.PI / 180) * velMedia;

 

 

De qualquer jeito obrigado pela sua ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.