我有以下问题。我正在为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);
}
我知道这听起来很奇怪,但由于某种原因,这个函数返回'false',即使它应该返回'true'!但它不是引擎中的错误,而不是我游戏中的错误。此错误仅出现在最新的Safari版本上(Mac版本未知,iPad上的iOS6)。
由于某些原因,如果显示开发者控制台,则不会出现此错误。如果它被隐藏,则会立即显示错误。
有谁知道这个问题?
答案 0 :(得分:0)
如果这仍然是个问题,您可以在melonJS问题跟踪器上提交错误报告:https://github.com/melonjs/melonJS/issues
它可能与某些代码有关,因为这个问题被提出(“可见”和“在视口中”现在被视为自melonJS 0.9.5以来的单独内容)