我正在为我不久前创建的 Flex 应用程序创建一个新的“精简版”版本。我已经将许多类和组件移植到编译 SWC 文件的 Flex 库项目中。因为两者都是 Cairngorm 应用程序,所以我无法完全消除重复代码,但我应该能够共享资产(例如图标(PNG 文件))似乎是合乎逻辑的。做这个的最好方式是什么?我尝试将它们包含在 SWC 中,但我不知道如何在应用程序中访问它们。如果你能帮我弄清楚,那么我的问题就会得到解答。有什么想法吗?
以下是我目前如何在 Flex 应用程序中嵌入图标/图像的示例:
<mx:Script>
<![CDATA[
[Bindable]
[Embed(source="assets/icons/cancelIcon.png")]
private var cancelIcon:Class;
[Bindable]
[Embed(source="assets/icons/saveIcon.png")]
private var saveIcon:Class;
]]>
</mx:Script>
Thanks.
0)首先,查看上面的代码 - 我建议进行一些小的更改:
// Actionscript instead of MXML:
public class ResourceClasses
{
Bindable]
[Embed(source="assets/icons/cancelIcon.png")]
public static var CancelIconClass:Class;
// make your variable public and static without public no one
// outside the class can access AND bindable won't matter
}
---- 现在,编译你的库。
---- 如果资产不在正确的位置,编译器会抱怨
1)在你的应用程序中,你需要引用库项目/swc
---- 您应该能够在 Flex Builder / eclipse 中从应用程序中的类到库项目中的类获取代码提示/智能感知
2)在您的应用程序中 - 执行如下代码:
var image:Image = new Image();
image.source = ResourceClasses.CancelIconClass;
// more image property setting...
someCanvas.addChild(image);
3)这将让你继续 - 使用图书馆项目来保存图像等......
*** 请注意:如果图像需要多次加载、重复使用等——还需要采取其他步骤来挤出最佳性能等...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)