前几天写过一篇"flash开发中如何实现界面代码分离",评论中 小-G 同学给出了更好的建议:swc ,今天试用了一下,果然比较embed swf来得更爽!同时对小-G同学表示感谢!
就拿视频播放器的控制来说吧:
通常我们会把一些常规的控制按钮,利用Flash CS的IDE界面做好,放到库中
如果按embed swf的方法,需要手动用代码创建每种按钮的实例,然后一个个去控制位置,然后addChild;其实考虑到实际场景中,这类按钮总在一起出现的,不如把他们放在一起(类似asp.net中的自定义控件那样),做为一个整体出现。
ok,于是在库中再创建一个ControlButtonBar的movieClip
注意:在ControlButtonBar中,给每个按钮实例指定一个名称(这样在代码中才能引用到该按钮)
然后导出为swc文件
swc的导出文件名可以随便写,我这里保存为"ControlButtonBar.swc",界面部分搞定了,可以关掉flash cs了,再启用flex builder,随便新建一个项目(我习惯用ActionScript Project),项目上右击-->properties-->ActionScript BuildPath-->LibaryPath-->ADD SWC
选择刚才导出的swc文件,然后点击Ok,观察project,在Referrnced Libraries里,能看到对该swc的引用(就象在vs.net里查看引用的程序集类似)
这些搞完之后,就可以在代码里爽一把了:
怎么样?这感觉不比vs.net差多少吧 :)
后记:swc 感觉跟.net中的用户自定义控件有点类似