2011-01-08 61 views
0

我有以下的代碼組合:getChildAt用的addChild

seatContainer.getChildAt(order.seats[i]) 

我想要一個孩子加入到這一點,但它不容許我,我只能添加一個事件監聽到這一點。

任何人都知道我可以添加一個孩子到這個沒有使用eventListener?

回答

3

如果我沒有記錯,容器類(例如VBox,HBox等)中的getChildAt()返回DisplayObject。此對象類型不具有諸如「addChild」之類的方法 - 這些方法將在繼承層次結構下面進一步介紹。

您需要將getChildAt()方法返回的引用強制轉換爲DisplayObject以外的其他東西;我相信你想要的方法是在DisplayObjectContainer中:

var child:DisplayObject = seatContainer.getChildAt(order.seats[i]); 
(child as DisplayObjectContainer).addChild(your_child_class_here); 
+0

這是正確的。如果您打算稍後使用小孩,那麼您可能更願意將getChildAt命令(作爲DisplayObjectContainer)強制轉換爲var child:DisplayObjectContainer =(seatContainer.getChildAt(order.seats [i]); – Roy 2011-01-08 22:12:30