@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... И проверку если координаты равны, то не двигать наш объект..
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы