0

我有以下问题。我目前正在为 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)上。

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

有谁知道这个问题?

4

1 回答 1

0

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

它可能与自提出此问题以来已更改的某些代码有关(自 melonJS 0.9.5 以来,“可见”和“在视口中”现在被视为单独的事物)

于 2013-04-16T23:54:19.627 回答