Вы создаете этот объект в конструкторе класса документа вашего основного приложения?Если это так, вы столкнетесь с этой проблемой, даже если остальная часть вашего кода будет идеальной из-за того, как работает Flash Player.
По сути, «Сцена» равна нулю, пока ваше основное приложение не будет добавлено на сцену.Это быстрый путь к множеству необычных действий и трудно обнаруживаемых ошибок.Очень распространенным решением является минимизация кода в конструкторе класса вашего документа.Вместо того, чтобы помещать вашу логику инициализации в конструктор, ваш конструктор просто добавляет прослушиватель событий для Event.ADDED_TO_STAGE, и ваша логика переходит в ваш обработчик.Это выглядело бы примерно так:
protected var gamePlay:GamePlay;
public function MyConstructor():void {
this.addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true);
}
protected function addedHandler(e:Event):void {
this.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
gamePlay = new GamePlay(this.stage);
}
Дайте мне знать, если это решит вашу проблему, возможно, я не до конца понимаю, что происходит, но независимо от того, возникают ли у вас проблемы, когда этап нулевойкогда это не должно быть, это обычно является причиной.