Apache flex SWC皮肤和Spark绘图API之间的冲突

Apache flex SWC皮肤和Spark绘图API之间的冲突,apache-flex,mxml,skin,swc,Apache Flex,Mxml,Skin,Swc,我有一个项目,我们正在尝试从第三方库中对Spark组件进行蒙皮,该库是由绘图API原语构建的。我们的第一次尝试涉及在Illustrator/Flash中创建一个柔性蒙皮SWC,并通过CSS将该蒙皮应用于Spark组件。我们发现,即使在舞台上只有一个组件的单一实例以这种方式被剥皮,应用程序也会失败。例如,它在重新喷漆场景中未能及时做出响应,并表现出所有被悬挂的症状 我们的下一个方法是在MXML类中重新创建相同的皮肤工件,这些工件又与第三方组件相关联。尽管一些皮肤的复杂性让我相信,我们也可能无法避免

我有一个项目,我们正在尝试从第三方库中对Spark组件进行蒙皮,该库是由绘图API原语构建的。我们的第一次尝试涉及在Illustrator/Flash中创建一个柔性蒙皮SWC,并通过CSS将该蒙皮应用于Spark组件。我们发现,即使在舞台上只有一个组件的单一实例以这种方式被剥皮,应用程序也会失败。例如,它在重新喷漆场景中未能及时做出响应,并表现出所有被悬挂的症状

我们的下一个方法是在MXML类中重新创建相同的皮肤工件,这些工件又与第三方组件相关联。尽管一些皮肤的复杂性让我相信,我们也可能无法避免这种方法的性能问题


我的问题如下:是否有正确或推荐的方法将SWC或基于皮肤的皮肤应用于从Spark drawing API开始构建的组件?即使在我提出这个问题时,我也认识到这种方法意味着在两个地方使用Spark绘图API,并且可能会产生意想不到的后果

就渲染性能而言,我很幸运地使用从s:skin继承的MXML皮肤类构建了皮肤。Adobe推荐的方法是首先从SDK复制现有的皮肤文件,然后修改MXML以满足您的需要。关于绘制,FXG非常适合定义如何绘制蒙皮。FXG是基于XML的,所以您不需要编写ActionScript来绘制图形,就像我们以前对Flex3编程皮肤所做的那样。您还可以使用Adobe Catalyst创建皮肤。我没有使用过催化剂,所以我不能说它的有效性,但很多人似乎都喜欢它。希望有帮助