是代码中的同一段。在canvas下面的 touchend事件里。 返回的 location,y值差了90多。
有人遇到过吗?
没听说过,屏幕旋转过?
最后发现是,debug时,屏幕底下没黑边。 模拟器里有黑边。差别就在那个黑边上。
最后是提前计算 Canvas 和真实屏幕高度之间的差,点击后去掉这个差值。。
collider.world.points 里的值,似乎是到Canvas的距离,而非屏幕底部距离
你说的 debug 没黑边是所有原生平台都没有吧?另外你说的高度差应该可以用 cc.visibleRect.top 获取到。
Debug没黑边,是因为恰好选了个合适的屏幕尺寸。
高度差 已经是搞定了。
现在主要问题是,那个 collider.world.points 的值,并不是到屏幕边缘的,而是到 canvas 边缘的。 这个你们可以看看吗
我不太明白这跟屏幕有什么关系?我们的坐标系不应该考虑到屏幕。毕竟最终渲染在屏幕什么位置,得看是哪个摄像机渲染的。
我在 Canvas 的node上加的touchend事件,给到的点击位置,就是相对屏幕边缘的。 但是 Canvas里的一个 collider里的world.points的值,却是到 Canvas边缘的。