【发布时间】:2011-07-30 12:04:43
【问题描述】:
我正在将一个 swf“ImageEdit”加载到另一个 swf“Shell”中。我用
实例化ImageEditvar 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