在纯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里面嵌入字体,显示就正常了。

AS3中的插件模式开发(一)

插件式开发是我非常喜欢的一种设计模式。实际工作中,对某一产品,经常因时间和场景的不同,需要不同的功能。比如,视频播放器,有时候需要包含贴片广告、更多推荐的全功能版本,有时候只需要播视频的基础功能;再比如一款在线游戏,可能圣诞需要上线一个活动,春节又希望上线另一个活动,但是两个活动的逻辑和功能可能完全不同,而且活动下线之后,里面的逻辑和功能可能再也用不上了。于是,为了解决这些问题,我们可以求助插件式开发。

本系列文章将在新博客更新,链接在此,请移步阅读。

继续阅读“AS3中的插件模式开发(一)”