@LOKOFUN

Следование объекта за курсором?

Всем привет.

Мне нужно сделать перемещение отдельного объекта, который я выбираю кликом, за курсором мыши. Сейчас он двигается вперед-назад и вверх-вниз, нужно еще сделать влево-вправо, но у меня что-то не выходит(((
Помогите, пожалуйста
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
twobomb
@twobomb
Повесите на обработчик движения мыши вычисление угла между координатами мыши и к примеру центром вашего объекта, запомните этот угол.
var angle  = Math.Atan2(mousey - objy, mousex - objx);

Далее на каждой итерации двигаем на объект по этому направлению c нужной скоростью типа
var speed = 10*deltaTime;
    objx += Math.cos(angle) * speed;
    objy += Math.sin(angle) * speed;

Ну и в итоге можно еще добавить вычисление расстояния между последними координатами мыши и текущим положением объекта, и если оно меньше speed то делаем objx = lastmousex, objy = lastmousey... И проверку если координаты равны, то не двигать наш объект..
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 100 000 до 130 000 ₽
Freeway Games Москва
До 180 000 ₽
2Reallife Москва
от 110 000 до 130 000 ₽
17 февр. 2020, в 23:30
1100 руб./за проект
17 февр. 2020, в 19:40
500 руб./за проект
17 февр. 2020, в 19:36
5000 руб./за проект