Actionscript 3 ArgumentError:正在从阶段中删除子级
我正在尝试开发一个基本的蛇游戏,其中包括一些反向运动学和状态机。我试图让它这样当蛇的第一部分与某个“老鼠”互动时,它就消失了。但是,当我这样做时,它就不起作用了,我最终得到ArgumentError:Error#2025:提供的DisplayObject必须是调用者的子对象 这是我的密码:Actionscript 3 ArgumentError:正在从阶段中删除子级,actionscript-3,actionscript,inverse-kinematics,kinematics,Actionscript 3,Actionscript,Inverse Kinematics,Kinematics,我正在尝试开发一个基本的蛇游戏,其中包括一些反向运动学和状态机。我试图让它这样当蛇的第一部分与某个“老鼠”互动时,它就消失了。但是,当我这样做时,它就不起作用了,我最终得到ArgumentError:Error#2025:提供的DisplayObject必须是调用者的子对象 这是我的密码: 包 { 进口代理; 导入flash.display.Sprite; 导入flash.display.StageAlign; 导入flash.display.StageScaleMode; 导入flash.e
包
{
进口代理;
导入flash.display.Sprite;
导入flash.display.StageAlign;
导入flash.display.StageScaleMode;
导入flash.events.Event;
导入flash.events.MouseEvent;
导入flash.events.KeyboardEvent;
导入flash.geom.Point;
公共类Main扩展了Sprite
{
私有var代理:向量。;
私有var段:数组;
私有变量numSegments:uint=150;
私人玩家:点数=新点数(15,15)
公共函数Main():void
{
if(stage)init();
else addEventListener(Event.ADDED_TO_STAGE,init);
}
私有函数init(e:Event=null):void
{
stage.align=StageAlign.TOP\u左;
stage.scaleMode=StageScaleMode.NO_SCALE;
段=新数组();
对于(变量i:uint=0;i }
您正在本地(主要)添加代理和段,然后尝试将它们从后台删除(后台是swf的顶层,是另一个显示对象)
在init函数中执行stage.addChild(…),或者(在我看来,这是一个更好的选项)在其他任何地方用removeChild(…)替换stage.removeChild(…)-这将使对象保持在本地主空间中(谁知道呢,也许你以后会想在主空间周围移动,使所有内容立即不可见等等)