Подскажите в каком направлении думать.
Не знаю как реализовать движение игрока за курсором мыши
Игра написана с помощью Canvas на JS, размер игрового поля 100*100 ячеек массива в котором содержаться объекты.
Игроку выгружается экран 20*20 объектов
При движении вверх,вниз,вправо, влево я просто подгружаю кусок карты относительно начальной точки
Тем самым игрок всегда находится в центре экрана, а двигается карта.
Но нужно управление при котором игрок передвигается за указателем мыши, скорость постоянная, при наведении указателя на игрока перемещения не происходит.
Положение мыши внутри Canvas я ловлю через onmousemove и значения layerX,layerY
Я так понимаю надо вычислить угол относительно положения мышки и центра блока canvas, но что с ним делать дольше я ума не приложу
создайте математически или физически квадрат с дыркой в центре (квадратная дыра) и при попадании точки центр перса двигайте карту с той же скоростью что и перса. А сам игрок пусть ходит за курсором и когда Вы найдете им на квадрат с дыркой, карта начнет двигаться и будет казаться что он идет. Все это высчитывается по "тику" (обновлению кадра).
Григорий Byrger: игрока и курсор выражаете точками на плоскости, пусть будет A и B. каждый кадр находите вектор ab для извлечения направления и расстояния. Если расстояние меньше чем игрок может пройти за один кадр с установленной скорость, то задаем координаты игрока равными координатам курсора, если же нет, то откладываем новый вектор от A(игрок) длиной которую может пройти персонаж за один кадр.
Как его останавливать и заставлять его ходить, это уже вопрос другой, это зависит какую архитектуру юниту Вы выбираете. самый просто сделать массив объектов которые передвигаются и добавлять-удалять его от туда.