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的方法.
(用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的方法.
相关文章推荐
- AS3中的getChildByName
- Flash as3 基础:AS3中的getChildByName(转)
- flash中,getChildByName的效率测试及原理推测
- getChildByName()与getChildAt()效率比较
- AS3动态获取对象类名及类的方法,getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName
- cocos2d-x中getChildByName和Helper::seekWidgetByName的区别
- getChildByName()方法
- 学习AS3 getDefinitionByName (献给所有eval发烧友们)
- cocos2dx 使用getChildByName()获取不到元素问题
- AS3 getDefinitionByName
- COCOS-GETchildbyname
- AS3获取对象类名,getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName
- getChildByName()与getChildAt()效率比较
- flex:getChildByName()方法
- AS3:getDefinitionByName
- AS3获取对象类名,getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName
- flex:getChildByName()方法的研究
- getChildAt与getChildByName效率比较
- 关于IE中getElementsByClassName不能用的问题
- getElementsByName 的应用-获取radio button组的选择值