В ActionScript3 для Flash Player 9+, как лучше всего вызывать «разовую» функцию ровно после одного кадра?
Мне известен класс Timer и его использование, а также метод callLater в Flex UIComponents (который, просматривая исходный код, не выглядит очень эффективным в этом сценарии). Мне также известно о setTimeout (во flash.utils).
Класс Timer и утилита setTimeout основаны на времени, так как мы можем гарантировать, что наша функция будет вызываться ровно после одного кадра?
Из моего ограниченного тестирования кажется, что функции, переданные в setTimeout, выполняются только после хотя бы одного кадра (попробуйте установить задержку равной 0). Но это не гарантировано.
Конечно, мы могли бы прослушивать события Event.ENTER_FRAME из DisplayObject, но это кажется избыточным для однократного отложенного вызова функции.