Actionscript 3 as3试图从movieclip内部访问主时间轴变量
我刚刚找到了一个方法,但我还是会出错 在主要时间线上,我有:Actionscript 3 as3试图从movieclip内部访问主时间轴变量,actionscript-3,variables,movieclip,coercion,Actionscript 3,Variables,Movieclip,Coercion,我刚刚找到了一个方法,但我还是会出错 在主要时间线上,我有: var onBeat:Boolean = new Boolean; 在movieclip中,我试图通过以下方式访问它: MovieClip(root).onBeat = true; 从技术上讲,它是有效的,变量是变化的。但它抛出了导致问题的错误: 错误#1034:类型强制失败:无法转换闪存。显示::Stage@7fffaa2c0d1要闪烁.display.MovieClip 这仅仅是一项不可能完成的任务吗?您之所以会出现此错误,是
var onBeat:Boolean = new Boolean;
在movieclip中,我试图通过以下方式访问它:
MovieClip(root).onBeat = true;
从技术上讲,它是有效的,变量是变化的。但它抛出了导致问题的错误:
错误#1034:类型强制失败:无法转换闪存。显示::Stage@7fffaa2c0d1要闪烁.display.MovieClip
这仅仅是一项不可能完成的任务吗?您之所以会出现此错误,是因为您已将您的电影剪辑添加到舞台的显示列表,而不是主时间表列表 因此,在主时间轴代码(或文档类)中,可以使用
addChild(您的\u mc\u实例)
或this.addChild(您的\u mc\u实例)
添加您的MovieClip
但是,即使将MovieClip实例添加到后台,您也可以获得工作代码,例如:
var _root:DisplayObjectContainer = DisplayObjectContainer(root);
MovieClip(_root.getChildAt(0)).onBeat = true;
\u root.getChildAt(0)
这里返回您的主时间线实例,因为它也已添加到舞台的显示列表中,位于任何其他对象之前
希望这能有所帮助。您之所以会出现此错误,是因为您将MovieClip添加到了舞台的显示列表中,而不是主时间线列表中 因此,在主时间轴代码(或文档类)中,可以使用
addChild(您的\u mc\u实例)
或this.addChild(您的\u mc\u实例)
添加您的MovieClip
但是,即使将MovieClip实例添加到后台,您也可以获得工作代码,例如:
var _root:DisplayObjectContainer = DisplayObjectContainer(root);
MovieClip(_root.getChildAt(0)).onBeat = true;
\u root.getChildAt(0)
这里返回您的主时间线实例,因为它也已添加到舞台的显示列表中,位于任何其他对象之前
希望能有所帮助。什么是
root
?你如何定义它?你在哪里定义它?我以为root只是指最高级别的父级。本案的主体。我应该在什么地方定义它吗?如何添加你的“内部电影唇”<代码>此.stage.addChild(EMC内部)或this.addChild(EMC内部)代码>?问题是root是stage(一个stage类),您试图将其转换为MovieClip。难道不应该是root.onBeat=true?什么是根目录
?你如何定义它?你在哪里定义它?我以为root只是指最高级别的父级。本案的主体。我应该在什么地方定义它吗?如何添加你的“内部电影唇”<代码>此.stage.addChild(EMC内部)
或this.addChild(EMC内部)代码>?问题是root是stage(一个stage类),您试图将其转换为MovieClip。难道不应该是root.onBeat=true?