canvas无法添加sprite等非ui组件的解决方法

Flex Framework 的 Canvas 是无法添加 Sprite 等非 UI 组件的 DisplayObject的。
但有变通的办法。

1.使用 Adaptor 模式
把 Sprite 添加到 UIComponent,再把 UIComponent 添加到 Canvas。

代码:

var mySprite:Sprite = new Sprite();
mySprite.graphics.beginFill(0xFFCC00);
mySprite.graphics.drawCircle( 40, 40, 40 );
var UIRef:UIComponent = new UIComponent();
myUI.addChild(UIRef);
UIRef.addChild(mySprite);

 

2.使用 rawChildren
使用 Canvas.rawChildren。

代码:

var mySprite:Sprite = new Sprite();
mySprite.graphics.beginFill(0xFFCC00);
mySprite.graphics.drawCircle( 40, 40, 40 );
myUI.rawChildren.addChild(mySprite);

你可能感兴趣的:(UI,Flex)