这个问题阻碍了我继续我的项目,我不知道它是如何或为什么会发生的。
我有一个应用程序要求用户输入,然后根据所述输入生成图形并显示图像。图形文件作为文档类附加。两个字段是文本,另外两个是滑块。当我尝试运行应用程序时,我得到了一个
TypeError: Error #1034: Type Coercion failed, cannot convert flash.display.MovieClip to
fl.controls.Slider`
at flash.display::Sprite/constructChildren();
at flash.display::Sprite()
at flash.display::MovieClip
此代码弹出此错误:
var graphing:graph= new graph(); //my plot functions
function advance(e:MouseEvent):void{
continueButton= false;
displayHelp= ""; //clear the help area <-- debugger triggers errors here
initInvest= int(initInvest_txt.text);
lumpSum= int(withdrawal.text);
graph= new graph();
graph.setValues(lumpSum, initInvest);
gotoAndPlay("options");
}
此错误仅在图形声明和方法调用在范围内时显示。如果他们被删除 或注释掉,流程有效。图形文件是
package{
public class graph extends MovieClip{
public function graph(){}
}
}
我遇到的所有内容都表明这是MovieClip未转换为Slider组件的结果。但是,根本没有解决方案。
首先,为什么会发生这种情况? 第二,
答案 0 :(得分:1)
我现在也正在玩组件,我遇到了同样的事情。我只能通过外部类定义仅对将用于生成swc的fla /项目可见来修复它。所以基本上,确保组件的外部类对于将使用生成的swc的项目不可见,否则会发生类型强制错误。这可能是因为swc中包含了同一个类。
答案 1 :(得分:0)
在某处,您尝试将MovieClip引用分配给键入为Slider的变量或函数参数。 Slider是一个Sprite,但它不是MovieClip。