2012-02-09 75 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

我不会推荐交换它。相反,只需为触摸事件添加处理程序,并将事件转化为您的处理程序可以理解的内容即可。

因此,例如,添加一个ontouchmove处理程序转换事件的screenXscreenYpageXpageY,然后调用现有onmousemove处理程序。这将是运行移动Safari的handling events from iOS devices。您可能还需要添加一些其他翻译来处理其他设备/浏览器。

+0

欢呼,有点工作,让它移动一点,但后来停止。需要弄清楚如何循环移动,直到触摸。 – 2012-02-10 00:44:49

+0

一个标志和一个'setTimeout'循环可能会起作用。像'function movementLoop(){document.onmousemove(touchPoint); (flag)setTimeout(movementLoop,100); }' – aroth 2012-02-10 01:20:08

+0

像这样http://ross.posterous.com/2008/08/19/iphone-touch-events-in-javascript/ – 2012-02-10 15:27:55