在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的方法.

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-27
  • 2022-12-23
  • 2022-12-23
  • 2021-08-17
  • 2022-01-02
  • 2022-03-03
猜你喜欢
  • 2022-02-02
  • 2022-01-28
  • 2021-09-08
  • 2022-12-23
  • 2022-01-01
  • 2021-10-16
  • 2021-10-17
相关资源
相似解决方案