flex中添加基于sprite组件的问题

来源:互联网 发布:没有货怎么开淘宝店铺 编辑:程序博客网 时间:2024/05/29 18:25

1.sprite类可以在AS工程中直接绘制在屏幕上.

2.要加到flex工程中需要包装,接口不匹配.

要显示Sprite可以使用UIComponent包装一下,例
Mxml代码
var comp: UIComponen
t = new UIComponent();
comp.addCh
ild(Sprite对象);
HBox.addCh
ild(comp);
Mxml代码
var comp: UIComponen
t = new UIComponent(); comp.addChild(Sprite对象); HBox.addChild(comp);



如果Sprite包含
其它Sprite,只需要包装最顶级的Sprite.

由于某些原因(原Fl
ash移植到Flex),需要直接在Flex中加入Sprite类(或继承Sprite的自定义类),但直接加入Sprite是不被允许的,主要原因是只有实现了IUIComponent接口的类才能被Flex组件架构接纳,作为组件来使用。
flex中的显示元素
继承关系如下:
UIComponen
t -> FlexSprite -> Sprite -> DisplayObjectContainer ->....

因此Sprite无法
直接加入到Flex中,但可以通过以下方式来加入,这样就不需要修改原先的设计架构了

例如有一个sprit
e需要加入到Flex中:

CODE:
var sprite:Spr
ite = new sprite();
var uic:UIComp
onent = new UIComponent();
uic.addChi
ld(sprite);
addChild(u
ic);
这样sprite就可
以加入到flex中,原理是UIComponent实现了IUIcomponent接口的类,可以把该类作为Flex和Sprite的桥梁,所有的sprite类都可以通过此类轻易的加入到flex架构中。

或者把Sprite改
成UIComponent就可以了
原创粉丝点击