Flash 已加载并实例化SWF的类型强制错误
我正在将一个swf“ImageEdit”加载到另一个swf“Shell”中。我用Flash 已加载并实例化SWF的类型强制错误,flash,actionscript-3,coercion,Flash,Actionscript 3,Coercion,我正在将一个swf“ImageEdit”加载到另一个swf“Shell”中。我用 var ClassReference:Class=imageEditApplicationDomain.getDefinition("ImageEdit") as Class; var instance:MovieClip=new ClassReference(); 但是,我得到一个错误: TypeError:错误#1034:类型强制失败:无法转换闪存。显示::MovieClip@3b678b31到fl.co
var ClassReference:Class=imageEditApplicationDomain.getDefinition("ImageEdit") as Class;
var instance:MovieClip=new ClassReference();
但是,我得到一个错误:
TypeError:错误#1034:类型强制失败:无法转换闪存。显示::MovieClip@3b678b31到fl.controls.Slider
ImageEdit在自身运行且未加载到Shell中时不会引发错误。我补充说:
import fl.controls.Slider
去壳和其他没用的东西。两个SWF的库中都包含滑块组件。我在Flash Professional CS5.5上工作
如何消除强制错误?将MovieClip替换为Sprite或*或保留该类型。什么代码行会产生错误?当ImageEdit被实例化并且阶段被初始化时,即ImageEdit类在“var实例:MovieClip=new ClassReference()”行执行任何操作之前试着用雪碧代替MovieClip。谢谢。那有点管用。它消除了那个错误,但随后在我的代码中我得到了错误,因为它希望它是MovieClip类型。如果从变量声明中删除类型,强制错误就会消失。所以“public-var-slider\u-mc:slider;”给出了一个错误,但是“public-var-slider\u-mc;”没有给出错误,那么我将添加它作为一个被接受的答案。