我有一个在几个swf中使用的自定义组件(例如MyButton)。我想在运行时共享组件,因此一旦我们的设计者改变了按钮的视觉效果,我们就不需要发布所有使用此按钮的flas。如何在as3中共享组件
在as2中,我可以将此按钮放在资产fla(例如。lib.swf)中,并检查symbol属性中的“export for runtime share”。然后将按钮复制到fla(例如main.swf)并检查“import for runtime share”,这可以正常工作。然而在as3中,如果我在上面做了,如果我在舞台上放置了一个按钮实例并修改了它的可检查属性,我会得到一个编译错误“1046:未找到类型或不是编译时常量”。
我搜索了网页,发现这个http://www.kirupa.com/forum/showthread.php?317257-Runtime-Shared-Library-woes。然后我尝试了swc方法,但似乎swc会编译为swf,它根本不共享。
- 共享组件必须放在舞台上,因为所有FLA将由我们的设计师,而他什么都不知道关于编程进行修改。
- 我们不能使用flex,所有的操作都必须在Flash CS5中完成。
混淆上第3步。我无法使用脚本在fla中创建组件。我必须将swc文件复制到Adobe的配置文件夹中,然后在组件工具箱(Ctrl + F7)中找到该组件并在舞台上拖动它。因为布局是由我们的设计师编辑的。一旦在舞台上实现了组件,组件将被复制到这个fla的库中,然后发布到swf中。当我改变组件设计时,这个swf仍然使用旧的风格。 – Ryan 2013-03-04 09:56:27
好吧,我错了。您必须链接到File-ActionScript Settings-Library Path中的SWC库。 – 2013-03-04 10:03:38
你的代码有效。但我的问题是在没有代码的舞台上放置组件。我想在这个FLA的库中使用SWC中的组件,就像通常的动画片段一样,拖到舞台上并在Flash IDE中设置位置/大小/名称/ alpha。 – Ryan 2013-03-04 12:48:14