0

我有一个在多个 swf 中使用的自定义组件(例如 MyButton)。我想在运行时共享组件,因此一旦我们的设计师改变了按钮的视觉效果,我们就不需要发布所有使用这个按钮的 flas。

在 as2 中,我可以将此按钮放在资产 fla(例如 lib.swf)中,并检查符号属性中的“导出运行时共享”。然后将按钮复制到一个fla(例如main.swf)并检查“导入运行时共享”,这工作正常。然而,在 as3 中,在完成上述操作后,如果我将按钮实例放在舞台上并修改其可检查属性,我将收到编译错误“1046:Type was not found or is not a compile-time constant”。

我在网上搜索并找到了这个http://www.kirupa.com/forum/showthread.php?317257-Runtime-Shared-Library-woes。然后我尝试了swc的方式,但是好像swc会被编译成swf,根本不共享。

  1. 共享组件必须放在舞台上,因为所有的fla都会被我们的设计师修改,而他对编程一无所知。
  2. 我们不能使用 flex,所有操作都必须在 Flash CS5 中完成。
4

2 回答 2

0

1:将所有组件放在库中,如下所示:我的 flaBrushClip.fla将组件命名为 .fla MovieClip。并将 ActionScript Linking 导出到 ActionScript 类。

在此处输入图像描述

2:文件-发布设置检查SWC格式并发布如下:

在此处输入图像描述

3:检查,在你的项目中创建了swc文件。现在您可以使用 swc 其他项目,您必须在 File-ActionScript Settings-Library Path 中链接到 SWC 库。稍后如果您更改组件设计,请重新发布。并复制并粘贴 swc 文件。自动将更改重新启动 swf 文件。BrushClip.swc具有所有组件。

在此处输入图像描述

您可以访问如下:

var brushClip0:MovieClip = new BrushClip0();
addChild(brushClip0);

var brushClip10:MovieClip = new BrushClip10();
addChild(brushClip10);
于 2013-03-04T09:36:32.690 回答
0

我找到了解决方案。

  1. 给包含导入组件的 Sprite 一个绑定类
  2. 编辑class文件,不管是否勾选了“auto declare instance on stage”自行声明组件
于 2013-03-11T05:57:21.170 回答