我有以下问题。我目前正在为Facebook开发一个在线游戏。它是用Javascript画布制作的,我使用的是melonJS HTML5引擎。
突然之间,我的游戏对象看不见了,我甚至找到了原因。引擎在每个对象上设置一个标志,指示该对象是否可见。因此,引擎检查视口(表示为rectangle对象)是否包含对象(也表示为rectangle对象)。
这是所描述函数的代码(' This‘是对象,'r’是本例中的viewport ):
/**
* 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'!但这不是引擎中的bug,也不是我游戏中的bug。此错误仅出现在最新的Safari版本(Mac版本未知,iPad上为iOS6 )上。
由于某些原因,如果显示了开发人员控制台,则不会出现此错误。如果它被隐藏了,bug就会立即出现。
有人知道这个问题吗?
发布于 2013-04-17 07:54:20
如果这仍然是一个问题,您可以在melonJS问题跟踪器上提交错误报告:https://github.com/melonjs/melonJS/issues
这可能与问到这个问题后更改的一些代码有关(自melonJS 0.9.5以来,“可见”和“在视口中”现在被视为不同的事物)
https://stackoverflow.com/questions/13398712
复制相似问题