在纯AS项目中嵌入swf资源

在纯as项目中,使用Embed元标签嵌入swf资源。

近来想要告别Flash Pro编译,因为从效率上和资源占用上来说,FlashDevelop功能齐全又快速方便。不过有些图形资源还是只有用Flash Pro做起来最简单,而且我的早期项目大多是在Flash Pro里做的,所以我需要将他们嵌入到代码当中。

经过尝试,最符合我要求的操作是这样:

[Embed(source = '/assets/bannerProducer.swf', symbol = "toolbar")]
[Bindable]
public static var TOOL_BAR:Class;

其中,source后面的路径是项目路径,和嵌入元素的类所在的包无关;symbol属性指向的是希望从swf中取出哪个元件,元件需要事先在属性里选择“为ActionScript导出”。使用的时候直接声明实例就好:

var toolbar:TOOL_BAR = new TOOL_BAR();

PS:发现这样做之后,字体会有问题。在Flash Pro里面,文本框设置字体为“微软雅黑”,然后在平滑选项里选择“使用设备字体”,输出的swf会有限使用本地的“微软雅黑”字体;导入再输出的时候,只会保留“设备字体”这个选择。如果在Flash Pro里面嵌入字体,显示就正常了。

作者: meathill

爱编程,爱旅游,爱吐槽。
今年的第一目标是成为一名优秀的讲师,做够 25 场直播,收集 1000 位听众! (12/25)
《Electron + Vue 实战开发》创作中……

《在纯AS项目中嵌入swf资源》有一个想法

欢迎吐槽,请勿装死