我在我的 AS3 文档类中使用此代码从舞台上删除所有对象:
var _stage:DisplayObjectContainer = stage as DisplayObjectContainer;
while (_stage.numChildren > 0) {
_stage.removeChildAt(0);
}
除了一个例外,这似乎工作得很好。运行此程序后,可以按下按钮将所有内容重新加载到舞台上。在此构造函数中,添加了一些条件来为舞台创建事件侦听器(如果它们尚不存在):
if(!stage.hasEventListener(KeyboardEvent.KEY_DOWN));
stage.addEventListener(KeyboardEvent.KEY_DOWN, handle_key);
if(!stage.hasEventListener(MouseEvent.MOUSE_MOVE));
stage.addEventListener(MouseEvent.MOUSE_MOVE, manage_cursor);
编辑:阶段肯定是空的,我放if(stage){}
了这部分代码,并且在使用阶段的代码中的下一个点出现了错误
然而,在重建时,我收到一个关于TypeError: Error #1009: Cannot access a property or method of a null object reference.
“阶段”的错误。
进一步的研究表明,从舞台中删除所有 DisplayObject 可能会删除在添加 DisplayObject 之前访问舞台本身的能力。但是,这对我没有任何意义,我不完全确定如何继续。
任何帮助将不胜感激。