【问题标题】:Type Coercion Error with Loaded and Instantiated SWF加载和实例化 SWF 的类型强制错误
【发布时间】:2011-07-30 12:04:43
【问题描述】:

我正在将一个 swf“ImageEdit”加载到另一个 swf“Shell”中。我用

实例化ImageEdit
var ClassReference:Class=imageEditApplicationDomain.getDefinition("ImageEdit") as Class;  
var instance:MovieClip=new ClassReference();

但是,我收到一个错误:

TypeError:错误 #1034:类型强制失败:无法将 flash.display::MovieClip@3b678b31 转换为 fl.controls.Slider

ImageEdit 在单独运行且未加载到 Shell 时不会引发错误。我添加了:

import fl.controls.Slider

到壳牌和其他没有帮助的东西。两个 SWF 在其库中都包含 Slider 组件。我正在使用 Flash Professional CS5.5。

我怎样才能摆脱强制错误?

【问题讨论】:

  • 哪个代码行会产生错误?
  • 当 ImageEdit 被实例化并且舞台被初始化时,即在 ImageEdit 类在“var instance:MovieClip=new ClassReference();”行执行任何操作之前
  • 尝试用 Sprite 替换 MovieClip。
  • 谢谢。这有点工作。它消除了该错误,但随后在我的代码中出现错误,因为它希望它是 MovieClip 类型。如果从变量声明中删除类型,强制错误确实会消失。所以“public var slider_mc:Slider;”给出错误,但“public var slider_mc;”没有
  • 那么我将添加这个作为被接受的答案。

标签: flash actionscript-3 coercion


【解决方案1】:

用 Sprite 或 * 替换 MovieClip 或省略类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多