转自:http://hi.baidu.com/bysag/blog/item/865b99897f3cc3b60e24446e.html谢谢
由于某些原因(原Flash移植到Flex),需要直接在Flex中加入Sprite类(或继承Sprite的自定义类),但直接加入Sprite是不被允许的,主要原因是只有实现了IUIComponent接口的类才能被Flex组件架构接纳,作为组件来使用。
flex中的显示元素继承关系如下:
UIComponent -> FlexSprite -> Sprite -> DisplayObjectContainer ->....
因此Sprite无法直接加入到Flex中,但可以通过以下方式来加入,这样就不需要修改原先的设计架构了:
例如有一个sprite需要加入到Flex中:
CODE:
var sprite:Sprite = new sprite();
var uic:UIComponent = new UIComponent();
uic.addChild(sprite);
addChild(uic);
这样sprite就可以加入到flex中,原理是UIComponent实现了IUIcomponent接口的类,可以把该类作为Flex和Sprite的桥梁,所有的sprite类都可以通过此类轻易的加入到flex架构中。
或者把Sprite改成UIComponent就可以了.
由于某些原因(原Flash移植到Flex),需要直接在Flex中加入Sprite类(或继承Sprite的自定义类),但直接加入Sprite是不被允许的,主要原因是只有实现了IUIComponent接口的类才能被Flex组件架构接纳,作为组件来使用。
flex中的显示元素继承关系如下:
UIComponent -> FlexSprite -> Sprite -> DisplayObjectContainer ->....
因此Sprite无法直接加入到Flex中,但可以通过以下方式来加入,这样就不需要修改原先的设计架构了:
例如有一个sprite需要加入到Flex中:
CODE:
var sprite:Sprite = new sprite();
var uic:UIComponent = new UIComponent();
uic.addChild(sprite);
addChild(uic);
这样sprite就可以加入到flex中,原理是UIComponent实现了IUIcomponent接口的类,可以把该类作为Flex和Sprite的桥梁,所有的sprite类都可以通过此类轻易的加入到flex架构中。
或者把Sprite改成UIComponent就可以了.