Я использовал этот код в своем классе документов 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){}
часть кода, и ошибка возникла в следующей точке кода, где используется stage
Однако при восстановлении я получаю сообщение об ошибке TypeError: Error #1009: Cannot access a property or method of a null object reference.
со ссылкой на «stage».
Дальнейшие исследования показывают, что, возможно, удаление всех объектов DisplayObject со сцены лишает возможности доступа к самой сцене до тех пор, пока не будет добавлен объект DisplayObject. Однако для меня это не имеет никакого смысла, и яЯ не совсем уверен, как поступить.
Любая помощь будет принята с благодарностью.