Safari iOS 6操作错误



我有以下问题。我目前正在为Facebook开发一款在线游戏。它是用HTML5画布制作的,我使用的是melonJS Javascript引擎。

突然间,我的游戏对象不再可见,我甚至找到了原因。引擎在每个对象上设置一个标志,指示该对象是否可见。因此,引擎检查视口(表示为矩形对象)是否包含对象(也表示为矩形物体)。

这是所描述函数的代码(在这种情况下,"This"是对象,"r"是视口):

/**
* check if this rectangle is intersecting with the specified one
* @param  {me.Rect} rect
* @return {boolean} true if overlaps
*/
overlaps : function(r) {
return (this.left < r.right && r.left < this.right && this.top < r.bottom && r.top < this.bottom);
}

我知道这听起来很奇怪,但由于某种原因,这个函数即使应该返回"true",也会返回"false"!但这不是引擎中的错误,也不是我游戏中的错误。此错误仅出现在最新的Safari版本上(Mac版本未知,iPad上的iOS6)。

由于某些原因,如果显示开发人员控制台,则不会出现此错误。如果它被隐藏,错误会立即出现。

有人知道这个问题吗?

如果这仍然是一个问题,您可以在melonJS问题跟踪器上提交错误报告:https://github.com/melonjs/melonJS/issues

这可能与自提出此问题以来发生变化的某些代码有关(自melonJS 0.9.5以来,"可见"one_answers"在视口中"现在被视为单独的事物)