2011-03-17 76 views
1

我想遍歷舞臺中的所有對象,我不知道如何去做。 這是通過我以前使用C#和javascript的經驗即興創作的。如何查找舞臺上所有類型的對象?

  1. 首先,我需要正確的列表/數組與所有階段的孩子。
  2. 我需要檢查他們的類型。我有一個特殊的自定義類,它只擴展Sprite的一些附加屬性。

有人精通actionscript 3.0誰可以顯示正確的方法嗎?

for(var obj:DisplayObject in DisplayObjectContainer) { 
    if(typeof obj == "Pic") { 

回答

5

最容易的是使用「is」運算符來表示對象的類。

一個例子:

for(var i:int = stage.numChildren - 1; i>=0; i--) { 
    if(stage.getChildAt(i) is Pic) { 
     // Do stuff with members of Pic class 
+0

'var obj:DisplayObjectContainer'中的DisplayObject只有在DisplayObjectContainer是一個數組或向量時纔會起作用。否則,frankhermes找到displayObject的孩子的方法就是走這條路 – Daniel 2011-03-17 19:56:07

+0

@Daniel你完全正確。我錯誤地使用OPs循環,沒有意識到它沒有工作。它現在應該工作。 – 2011-03-17 23:47:48

2

我不認爲你可以得到這樣的一個DisplayObjectContainer的孩子。您可能需要這樣做:

for(var i=0;i<container.numChildren;i++) 
{ 
    if(container.getChildAt(i) is Pic) doSomething(); 
} 

其中container是DisplayObjectContainer。

+0

var n:uint = container.numChildren; for(var i:uint = 0; i 2011-03-17 22:30:26