У меня есть приложение, которое использует основной класс для управления другими MovieClips, добавляя и удаляя их по мере необходимости, большинство из них - отдельные экраны или подменю.Удаление объекта из списка отображения
Когда я покидаю главное меню и возвращаюсь к нему позже с другого экрана, некоторые анимации и кнопки перелистывания по-прежнему воспроизводятся, что я не хочу, мне в основном нужен экран главного меню для сброса каждый раз, когда он отображается ,
Я прочитал об этом и узнал, что удаление ребенка не обязательно удаляет его из памяти.
Я попытался установить главное меню на нуль, прежде чем переходить на другой экран, но это породило ошибку, указав, что дочерний параметр должен быть ни один.
Может ли кто-нибудь пролить свет на то, как полностью убить мое главное меню, когда оно не понадобится.
public function confSubMenuOneScreen():void {
subMenuOneScreen = new SubMenuOne();
mainmenu = null;
removeChild(mainmenu)
addChild(subMenuOneScreen)
currentScreen = subMenuOneScreen;
}
Это пример кода, который удаляет меню и добавляет еще один экран, с MainMenu = нулевой код, который подбрасывает ошибку.
Существует несколько функций, как указано выше, которые удаляют главное меню и добавляют другие экраны. Основная переменная меню объявляется в начале файла main.as, как вы удаляете что-то из списка отображения? – user747714
removeChild() удаляет объект из списка отображения. Но, установив его в null, вам нужно создать новый экземпляр MainMenu каждый раз, когда вам нужно его добавить. Если вам нужно его сбросить, я бы создал функцию в классе «MainMenu» с именем reset(), который возвращает экземпляр в исходное состояние. – Corey
Итак, я сломаю нулевую идею. Так что если в классе MainMenu у меня была функция, которая его перезагрузила, как бы я назвал это до его удаления? Я немного смущен относительно того, как у меня может быть функция сброса в классе, который удаляется из основного класса. – user747714