У меня та же проблема: на панели есть кнопки.Нажатие кнопки переключает окно.Когда панель восстановлена, она находится в неправильном состоянии.Я не могу исправить свою проблему с вашей проблемой, потому что на панели много разных кнопок.
Ошибка : ROLL_OUT происходит ПОСЛЕ (!) Моей панели, снятой со сцены.Это реальная причина, по которой кнопка не может нормально восстановить состояние.
Исправление ошибки (обходной путь) : Вы должны сгенерировать событие ROLL_OUT, ПЕРЕД (!) Родительский объект будет удален со сцены,Самый простой способ сделать это - создать пустую панель спрайтов и перекрытий, например:
Шаг 1:
var overlay:Sprite = new Sprite();
overlay.graphics.beginFill( 0x000000, .5 );
overlay.graphics.drawRect( 0, 0, _sprite.width, _sprite.height );
overlay.graphics.endFill();
overlay.x = _sprite.x;
overlay.y = _sprite.y;
overlay.name = "TRICK";
addChild(overlay); // The top element overlay is override the buttons and it’s automatically generated event ROLL_OUT
Шаг 2: Если окно с панелью и кнопками восстановлено, удалите наложение:
var overlay:Sprite = this.getChildByName("TRICK") as Sprite;
if (overlay) removeChild(overlay);