从Flash导出SWC以在Flash Builder Actionscript项目中使用

时间:2012-06-27 02:39:44

标签: flash flex actionscript swc

我在Flash Builder Actionscript项目中创建了一个类。

然后我创建了一个FLA,其中包含该类的图形,并将其作为符号并将其链接到该类。然后我发表了一个swc。

如果我尝试在另一个fla中使用swc,然后实例化该对象并将其添加到显示列表中,则没有问题。

但是,当我运行我的Flash Builder项目时,对象的图形不会显示。虽然类'构造函数中的跟踪语句正常运行。

发生了什么事?很确定我过去没有问题。不知道我是不记得怎么做或者是什么。

以下是我的符号导出设置:

Symbol settings

1 个答案:

答案 0 :(得分:8)

如果在Flash Builder代码库中以及从Flash Pro发布的SWC中定义了类,则可能与包有冲突。

Flash Builder

  • 定义TitlePopup的基类
  • new TitlePopup()可能会在Flash Builder项目中实例化该类,并且不会使用从Flash Pro SWC发布的UI来实例化该定义。

Flash Pro

  • 在AS Linkage中使用TitlePopup的基类
  • 定义用户界面
  • new TitlePopup()使用Flash Pro定义的UI以及基类AS链接代码来实例化类。

从Flash Pro SWC实例化类定义具有您的UI和基类。

从Flash Builder实例化,很可能使用代码库中的基类,而不是SWC中使用UI的类。

如果TitlePopup类是从Flash Pro的SWC发布的,那么您应该从Flash Builder代码库中删除该类,并仅从SWC定义中引用它。

flash-swc

如果您只想将Flash Builder用作Flash Pro的代码编辑器,则可以随时为您的类“在Flash Builder中编辑”。右键单击库中的符号,然后选择Flash Builder:

edit in Flash Builder

为您自动生成Flash Builder项目。

Flash Builder可能无法解析Flash Pro的playerglobal.swc,您可以在自动生成的Flash Builder中添加定义.actionScriptProperties:

<libraryPathEntry kind="3" linkType="1" path="${FLASHPRO_APPCONFIG}/ActionScript 3.0/FP10.2/playerglobal.swc" useDefaultLinkType="false"/>

同样,如果您依赖Flash Pro组件,则可以通过SWC添加它们。

视窗:

  

C:\ Program Files(x86)\ Adob​​e \ Adob​​e Flash CS5.5 \ Common \ Configuration \ ActionScript 3.0 \ libs \ flash.swc

的Mac:

  

/ Applications / Adob​​e Flash CS5 / Common / Configuration / ActionScript 3.0 / libs / flash.swc

或者,您可以添加组件源路径:

视窗:

  

C:\ Program Files(x86)\ Adob​​e \ Adob​​e Flash CS5.5 \ Common \ Configuration \ Component Source \ ActionScript 3.0 \ User Interface

的Mac:

  

/ Applications / Adob​​e Flash CS5.5 / Common / Configuration / Component Source / ActionScript 3.0 / User Interface

也许您可以在Flash Builder中创建一个ActionScript库项目,将该库项目用作Flash Pro中的源路径(不是每个项目,而是全局源路径)。

然后从Flash Pro发布SWC,并在Flash Builder中实现纯ActionScript项目时使用SWC。

这对您的统一代码库没有帮助;但是,也可以是将所有代码保存在Flash Builder中的工作流程。

flash-source