Встановіть спрайт до напрямку обличчя миші


9

Я будую канву для гри в html5, і мені потрібен спосіб змусити спрайт стикатися з курсором миші. У мене координати X і Y для спрайту, а також координати X і Y вказівника. Все, що я застряг, - це математика, яка займається спрайтом обличчя вказівника. Це все у двовимірному світі, тому я не можу уявити, що це буде занадто складно, але у мене дуже мало досвіду з цими речами.

Також будь-які корисні посилання на статті / повідомлення в блогах про подібні речі були б приголомшливими (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. Якщо він стикається з іншим напрямком, то вам потрібно змістити кут. Моя відповідь тут пояснює, як це зробити.
Нікол Болас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.