Событие ADDED_TO_STAGE не работает, как я думал

Мне нужно отобразить сообщение для пользователя, прежде чем начнется голодная функция процессора. Я запускаю эту функцию после того, как событие ADDED_TO_STAGE запущено, но в течение половины времени в окне сообщения не хватает времени для отображения при запуске этой тяжелой функции. Есть ли другой способ убедиться, что окно сообщения отображается до того, как тяжелая функция начинает обрабатывать вещи?

0
nl ja de

1 ответы

Запустите тяжелую функцию в следующем кадре после всплывающего окна, для этого используйте событие Event.ENTER_FRAME. AVM выполняет код as3 в начале кадра и визуализирует графику в конце, поэтому ваш код, который показывает окно, выполняется, но графика отображается только после тяжелой функции, например:

protected function init():void
{
    showPopup();
    addEventListener(Event.ENTER_FRAME, onEnterFrame);
}

private function onEnterFrame(event:Event):void
{
    removeEventListener(event.type, arguments.callee);
    startHeavyFunction()
}
2
добавлено