的內容在一個理智的世界中,這按預期工作:的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