【问题标题】:Getting relative touch coordinates inside canvas在画布内获取相对触摸坐标
【发布时间】:2012-10-03 15:01:25
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: javascript html mobile canvas


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      • 2016-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多