的内容在一个理智的世界中,这按预期工作:的Flash/AIR AS3:比较Screen.screens
var array:Array = ['a','b','c'];
trace(array.indexOf(array[0])); // returns 0
在一个疯狂的世界,出现这种情况:
trace(Screen.screens.indexOf(Screen.screens[0])); // returns -1
...如果Screen.screens
是Screen
的可用实例的Array
,为什么不能给出一个准确的indexOf
自己的孩子?
编辑 -要采取这一步,检查了这一点:
在Screen.screens
上市
for each(var i:Screen in Screen.screens){
for each(var j:Screen in Screen.getScreensForRectangle(this.stage.nativeWindow.bounds)){
trace(i, j, i == j); // returns false
trace(i.bounds, j.bounds, i.bounds == j.bounds); // returns false
}
}
至少一个Screen
应该等同于在Screen.getScreensForRectangle(this.stage.nativeWindow.bounds)
Screen
- 但即使你比较Screen.bounds
,它仍然不匹配,尽管有两个Rectangle
对象具有相同的尺寸!
疯狂,女士们,先生们!你甚至不希望看到我放在一起解决方法(提示:它涉及到为Screen.screens
内容比较Screen.bounds.toString()
值)
我知道,“屏幕,屏幕,屏幕点屏幕点屏幕。”但我想举一个真实的例子。 – 2010-03-30 01:40:53