Разработка Java-игр - Смотри и стреляй по координатам мыши - PullRequest
5 голосов
/ 02 июня 2011

Я собираюсь сделать игру, в которой вы бегаете с персонажем, увиденным сверху.Но проблема в том, как заставить персонажа постоянно смотреть на мышь?И как мне рассчитать угол, чтобы я мог стрелять в сторону мыши (куда я сейчас смотрю).Я полагаю, вам нужно поиграть с тригонометрией и тому подобным, чтобы получить углы, но я действительно не знаю, как.

Я довольно хорошо разбираюсь в математике, так что я могу понять, если вы, ребята, дадитемне некоторая помощь.

И извините за мой в конце концов плохой английский, я шведский :))

Спасибо, Александберг

Ответы [ 2 ]

1 голос
/ 02 июня 2011
double angle = Math.atan2(yMouse-yChar, xMouse-xChar);
1 голос
/ 02 июня 2011

как вы сказали, большой намек можно найти в триге

Point pl = getCharacterLox();
Point mouse = getMouseLoc();
double cos = (mouse.getX()-pl.getX());
double sin = (mouse.getY()-pl.getY());
cos/=Math.hypot(cos,sin);//normalize 
double angle = Math.copySign(Math.acos(cos),sin);

В последней строке я использовал небольшую хитрость: acos находится между 0 и PI, но если sin отрицателен, его следует отменитьесли sin равен 0, он будет равен +0,0, а угол будет равен 0 или PI независимо от

...