在Flash / AS3 Sprite上包装Flex MXML(或Spark?)组件?

时间:2011-10-19 07:18:19

标签: flex actionscript

当在Sprite中使用来自Flex api的mx:Canvas时,我得到一个TypeError:错误#1009并且跟随堆栈:

> StyleManager/getStyleManager 
> StyleProtoChain/getStyleManager
> StyleProtoChain/initProtoChain
> UIComponent/initProtoChain
> UIComponent/regenerateStyleCache 
> Container/regenerateStyleCache

我想这是因为它需要额外的初始化,通常由应用程序/父程序容器操作。

有没有人成功体验过这样的包装,或者,是否有替代mx:Flash / AS3中的Canvas?

如果不可能的话,我会选择一个特定的动作脚本,或者一个风格化的Mx应用程序。

1 个答案:

答案 0 :(得分:1)

您不能在纯Flash应用程序中使用Flex UI组件。你不能把Flex组件放在Sprite中:阅读它的生命周期,Convas希望在它的父级中看到很多东西。

我看到的唯一解决方案是使用混合内容(Flash和Flex)的Flex应用程序,条件是Flex组件不在Sprite中。

Flash中Canvas的替代品是Sprite(ta-da!)。最大的区别在于其大小计算和外部设置(例如How to calculate the size of a sprite?)。