AS3中的getChildByName
在AS3中,我們可以用getChildByName來獲取一個元件,但是要注意返回的類型是DisplayObject,這樣一旦我們的元件中有一些自定義的方法就不能使用了。
比如我有一個類Ball,Ball有一個方法move,那麼我可以這樣寫:
var b:Ball=new Ball();
addChild(b);
b.move();//這樣沒問題
getChildByName(」b」).move();//這樣編譯時會報錯
其原因應該就是getChildByName返回的類型是DisplayObject,而並不是Ball,所以無法調用Ball的方法。
如果這樣寫:
var c:Ball= getChildByName(」b」) as Ball;
c.move();
這樣就沒問題了,編譯通過,可以調用Ball的方法。
richbox.net - AS3中的getChildByName
沒有留言:
張貼留言