Вопрос

Я создал класс, который должен зарегистрироваться для события.ВИЗУАЛИЗИРУЙТЕ событие так, чтобы оно знало, когда выполняется визуализация этапа.Упрощенная версия моего кода выглядит следующим образом:

package
{
   import flash.events.Event;
   import flash.display.Sprite;
   public final class Test extends Sprite
   {
        public final function Test()
        {
            addEventListener(Event.ADDED_TO_STAGE,added,false,0,true);
        }

        private final function added(event:Event):void
        {
            trace("added to stage");
            stage.addEventListener(Event.RENDER, renderHandler,false,0,true);
        }

        private final function renderHandler(event:Event):void
        {
            trace("Event.RENDER dispatched!");
        }
   }
}

Событие.Отправляется событие ADDED_TO_STAGE.Однако событие.Событие рендеринга таковым не является.Есть какие-нибудь идеи, что я, возможно, здесь делаю не так?Родитель добавляет этот объект в качестве дочернего на сцену, так что это не может быть проблемой.

Это было полезно?

Решение

Вы должны позвонить в stage.invalidate() способ отправки Event.RENDER событие.В соответствии с Ссылка на AS3, Event.RENDER отправляется непосредственно перед визуализацией экрана, предоставляя всем прослушиваемым объектам возможность обновления.Я использовал Event.RENDER перерисовывать статические фигуры можно только тогда, когда что-то изменило их параметры.Это быстрее, чем перерисовывать каждый кадр.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top