【问题标题】:AS3: gotoAndPlay not workingAS3:gotoAndPlay 不工作
【发布时间】:2011-11-26 02:20:37
【问题描述】:

我正在尝试在符号内的某个框架中使用 AS3 gotoAndPlay,我的目标框架在另一个符号内,即 “Carrera”(类名)。通过从库中拖动,将两个符号放置在场景中。

我试过了:

MovieClip(carrera).gotoAndPlay(1);

错误输出:

TypeError: Error #1034: Type Coercion failed: cannot convert carrera$ to flash.display.MovieClip.
    at fondoUcreativa/frame500()

也尝试过:

carrera.gotoAndPlay(1);

编译器错误:

Symbol 'fondo Ucreativa', Layer 'Layer 2', Frame 500, Line 4    1061: Call to a possibly undefined method gotoAndPlay through a reference with static type Class.

【问题讨论】:

    标签: actionscript-3 movieclip goto


    【解决方案1】:

    要使用“gotoAndPlay”方法,您的 Carrera 类必须扩展 MovieClip。

    【讨论】:

    • Carrera 是由代码定义的类还是您的库中已有的类?
    • 使用库属性分配。 “联动”
    • 当你为它分配链接时,你是否将影片剪辑定义为“基类”?
    • 我在哪里可以做到这一点?我通过拖动将对象放置在场景中。
    • 右键单击库中的对象并选择属性。如果在基类中有“flash.display.MovieClip”,请检查链接部分。如果它已经像这样(我猜是这样,因为这是您选择“export for actionscript”时的默认设置),那么问题是另一个问题。可能是您在舞台上拖动实例而没有为其分配实例名称。
    【解决方案2】:

    你自己说的。 carrera 是一个类,而不是一个实例。因此,您无法访问carrera.gotoAndPlay(),这是一个实例方法,而不是静态方法。

    您将不得不从属性面板中命名该类的实例(例如 carreraInst

    那你可以叫它carreraInst.gotoAndPlay(1);

    有点离题,按照惯例,类名以大写字母开头,所以应该是 Carrera 而不是 carrera

    【讨论】:

    • 没用。 CarreraIns.gotoAndPlay(1);给出以下错误Symbol 'fondo Ucreativa', Layer 'Layer 2', Frame 500, Line 3 1061: Call to a possibly undefined method gotoAndPlay through a reference with static type Class. 我仔细检查了类名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    • 1970-01-01
    • 2012-05-24
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多