0

我在使用 AIR 3.4 为 Android 编译的 Flashbuilder 4.7 中有一个 Actionscript Mobile 项目。(AIR SDK 位置:C:\Program Files\Adobe\Adobe Flash Builder 4.7\eclipse\plugins\com.adobe.flash.compiler_4.7.0.345990\AIRSDK)

我最近从 AIR 3.2 中恢复了该项目,并遇到了一个新的运行时错误。我从 SWF(最初从 Flash CS3 发布 - 在 AS3 中,但使用 Flash CS6 重新发布)导入了 MovieClip 资源 (truck_anm_mc)。“truck_anm_mc”影片剪辑包含另一个实例名称为“Flick”的影片剪辑。

这是它的导入方式:

    public var _truck_anim      :MovieClip;
    [Embed(source='/assets/blue/animation004.swf#truck_anm_mc')]
    public var TruckAnim            :Class;

这就是它的使用方式(我已经注释掉了对它的所有进一步引用 - 这是唯一使用它的代码行,如果我注释掉这一行,错误就会消失):

    _truck_anim = new TruckAnim() as MovieClip;

这是错误:

ReferenceError: Error #1056: Cannot create property Flick on animation004_swf$915bbdce658b4869e6dc24efe65092b42084086601.
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at animation004_swf$915bbdce658b4869e6dc24efe65092b42084086601()
    ...

Flick 在 Truck_anm_mc 的时间线上。如果我从时间线上删除 Flick,则没有错误。

该错误报告无法在 Sprite 上创建属性 Flick,如果 truck_anm_mc 是 Sprite,这对我来说很有意义 - 但它是一个 MovieClip,应该能够附加任意属性。

我已经尝试过使用和不选中自动声明阶段实例选项创建的 SWF。我没有使用 TLF 或任何 RSL。它是一个非常简单的 SWF,仅包含一个 MovieClip,在其时间轴上在其中添加了另一个 MovieClip 动画。

MovieClip 都使用MovieClip 基文档类,并且它们的类由Flash 动态生成。我尝试为 truck_anm_mc 创建一个文档类 - 并将 Flick 声明为公共变量 - 但它并没有避免错误。

4

1 回答 1

0

通过使用不同的方法导入它,我成功地使用了相同的 MovieClip 资产。我将 MovieClips 导出到一个 SWC 文件中,并从 Actionscript Mobile 配置文件中引用了该文件。这是该方法的有用教程:

http://www.codeandvisual.com/2009/how-to-import-movieclips-into-a-flash-builder-actionscript-project/

于 2012-10-14T02:44:08.593 回答