您的位置:首页 > 其它

AS3中的getChildByName

2010-12-21 14:21 225 查看
在AS3中,可以用getChildByName来获取一个元件,

(用getChildByName,好处是可以被其它IDE防问,而且更规犯)

但是要注意返回的类型是DisplayObject,

这样一旦元件中有一些自定义的方法就不能使用了。

比如一个类Ball,Ball有一个方法move,那么可以这样写:

var ball:Ball=new Ball();

addChild(ball);

ball.move();//这样没问题

getChildByName("ball").move();//这样编译时会报错

其原因应该就是getChildByName返回的类型是DisplayObject,

而并不是Ball,所以无法调用Ball的方法。

如果这样写:

var ball:Ball= getChildByName("ball") as Ball;

ball.move();

这样就没问题了,编译通过,可以调用Ball的方法.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: