Установить спрайт в направлении мыши

9

Я создаю html5 холст, и мне нужен способ заставить мой спрайт стоять перед курсором мыши. У меня есть координаты X и Y для спрайта, а также координаты X и Y указателя. Все, что я застрял, это математика, чтобы спрайт указывал на лицо. Это все в 2D-мире, поэтому я не могу себе представить, что это будет слишком сложно, но у меня очень мало опыта в этом деле.

Также были бы полезны любые полезные ссылки на статьи / сообщения в блогах о подобных вещах (программирование 2D-игр в целом, а не Javascript).

Чтобы добавить, я должен отметить, что мне нужен угол в градусах, который укажет меня на курсор, используя его позиции X и Y.

Как я могу узнать координаты курсора и куда я могу поместить все эти вещи?

Робинсон
источник
Привет, у меня была такая же проблема, как и у вас, со стрельбой из лука. Проверьте мой блог, если хотите: yannbane.blogspot.com .
jcora
возможный дубликат Ориентация модели для достижения цели
Никол Болас

Ответы:

11

Не зная API в вашем распоряжении, вот основная математика для получения угла в градусах:

angle = math.atan2(y2 - y1, x2 - x1) * 180 / math.pi;

* 180 / math.pi;Преобразует его из радиан в градусы.

Уильям Мариажер
источник
3
Обратите внимание, что угол, созданный с помощью, atan2предполагает, что система координат + x вправо и + y вверх . Если у вас понизится, вам нужно будет отрицать угол. Предполагается также, что объект будет обращен в направлении (1, 0) (вправо), когда угол равен 0. Если он направлен в другое направление, необходимо сместить угол. Мой ответ здесь объясняет, как это сделать.
Николь Болас