Movimentação através de Atan2, Cos e Sin

4 respostas
F

Estou desenvolvendo um jogo em J2ME para fins de estudo, coisa simples: uma bola ao centro e, onde tocar a tela do celular, a bola vai até aquela posição. Porém, estou tento dificuldades para direcionar a bola até o ponto final.

Estou usando o MathFP, já que não pode-se usar valores decimais.

O código onde faço a movimentação da bola é este:
int x = 0;
int y = 0;

if(finalx > posx) {
    x = finalx - posx;
} else {
    x = posx - finalx;
}

if(finaly > posy) {
    y = finaly - posy;
} else {
    y = posy - finaly;
}

int angulo = MathFP.atan2(y, x);
angulo = (angulo * 180) / MathFP.PI;

posx += MathFP.cos(angulo);
posy += MathFP.sin(angulo);

Onde finalx e finaly são as coordenadas onde foi pressionado na tela.
Gostaria da ajuda de vocês para mostrar onde estou errando, pois a bola não faz a trajetória correta.

4 Respostas

rmendes08

Qual é a trajetória da bola ? Linha reta ?

ViniGodoy

Leia:
http://www.pontov.com.br/site/index.php/arquitetura/54-matematica-e-fisica/132-o-uso-de-vetores-nos-jogos

Marky.Vasconcelos

ViniGodoy:
Leia:
http://www.pontov.com.br/site/index.php/arquitetura/54-matematica-e-fisica/132-o-uso-de-vetores-nos-jogos

Isso resolve seu problema.

F

me desculpem a demora para responder…

ViniGodoy, resolveu meu problema, caso algum moderador desejar trancar o tópico, fique à vontade

obrigado

Criado 27 de maio de 2011
Ultima resposta 6 de jul. de 2011
Respostas 4
Participantes 4