4

在过去的几天里,我一直在开发我的第一个 HMLT5 游戏原型,我需要让它在桌面和移动设备上都能运行。问题是,我一般是 Web 开发的新手。

为了获得相对于画布的鼠标/触摸位置,我已停止使用e.layerXe.offsetX开始使用此方法。我什至添加了<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">.

但即使在那之后,触摸坐标在旋转屏幕时也会发生偏移,而且 Dolphin 也以一种非常奇怪的方式对待触摸。

有什么通用的方法来解决这个问题吗?我不熟悉这些技术,所以可能使用 jQuery 或类似的东西?

编辑:另外,pageX screenX并且clientX都返回相同的值。不知道为什么,我用e.touches[0].clientX.

Edit2:我想我解决了。findPos(obj);忘了如果屏幕旋转我必须再次打电话。我什至不想在没有元标记的情况下测试它,我现在就这样吧。

4

1 回答 1

3

我使用它(通过 JQuery)来获取我的鼠标在画布中的位置,相对于画布:

canvas.mousemove(function(e){
    mmouseX = e.pageX-canvas.position().left;
    mmouseY = e.pageY-canvas.position().top;
}

在 Android 默认浏览器上尝试过,它工作正常,在台式机上也一样。不过,从来没有在 Dolphin 上试过。

于 2012-10-03T15:05:31.030 回答