canvas无法添加sprite等非ui组件的解决方法2011-03-17 21:48Flex 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);
但有变通的办法。
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);
FlexCanvas组件适配技巧
本文介绍了在Flex框架中如何将Sprite等非UI组件添加到Canvas的方法,包括使用Adaptor模式及rawChildren属性两种方案。
1163

被折叠的 条评论
为什么被折叠?



