2012-02-09 4 views
0

У меня есть этот скрипт для перемещения персонажа в игре в холсте html 5, он просто вызывает функцию для перемещения символа, если мышь обнаружена с каждой стороны. Как мне поменять это на сенсорный жест, который будет использоваться на мобильном устройстве?Перемещение мыши для сенсорного управления

document.onmousemove = function(e){ 
    if (player.X + c.offsetLeft > e.pageX) { 
     player.moveLeft(); 
    } else if (player.X + c.offsetLeft < e.pageX) { 
     player.moveRight(); 
    } 
} 

ответ

1

Я бы не рекомендовал заменять его. Вместо этого просто добавьте обработчики для событий касания и переведите события во что-то, что может понять ваш обработчик onmousemove.

Так, например, добавить ontouchmove обработчик, который транслирует мероприятия screenX и screenY к pageX и pageY, а затем вызывает существующий onmousemove обработчик. Это будет для handling events from iOS devices работающих мобильных Safari. Вероятно, вам придется добавить некоторые дополнительные переводы для обработки других устройств/браузеров.

+0

Улыбки, вроде работавшие, заставили его немного двигаться, но затем остановились. нужно выяснить, как перемещаться по петле до тех пор, пока не коснется. –

+0

Флаг и цикл 'setTimeout', вероятно, будут работать. Что-то вроде 'function movementLoop() {document.onmousemove (touchPoint); if (flag) setTimeout (движениеLoop, 100); } ' – aroth

+0

что-то вроде этого http://ross.posterous.com/2008/08/19/iphone-touch-events-in-javascript/ –

Смежные вопросы