我在Flashbuilder 4.7中使用AIR 3.4为Android编译了一个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导入MovieClip资产(truck_anm_mc)(最初从Flash CS3发布 - 在AS3中,但使用Flash CS6重新发布)。 “truck_anm_mc”MovieClip包含另一个实例名称为“Flick”的MovieClip。
这是它的导入方式:
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声明为公共var - 但它没有避免错误。
答案 0 :(得分:0)
我通过使用不同的方法导入它成功使用了相同的MovieClip资源。我将MovieClip导出到SWC文件中,并从Actionscript Mobile配置文件中引用该文件。以下是该方法的有用教程: