Показать сообщение отдельно
  #2 (permalink)  
Старый 08.01.2016, 00:39
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Я бы получал координаты мыши и конвертировал их в координаты квадрата на карте.

// x,y = e.layerX, e.layerY
// size = размер квадрата, например - 50.
function getCoords(x,y) {
	return {
  	x: Math.floor(x / size),
    y: Math.floor(y / size)
  }
}


Теперь нужно знать в каком квадрате xy находится игрок.

// если игрок всегда находится в центре карты, то это легко получить и опять же конвертировать в координаты.
// допустим игрок находится тут.
var playerCoords = { x: 10, y: 20 };


Передвижение игрока.
canvas.onmousemove = function(e) {
     var coords = getCoords(e.layerX, e.layerY);
     
     // сверяем координаты игрока и координаты мыши, после этого сдвигаем карту в нужное направление.
    
     if (coords.x > playerCoords.x) {
          // move right
     }
     
     //etc
}
Ответить с цитированием