ActionScript-3 - разница между воспроизведением ранее созданного MovieClip и Event.ENTER_FRAME - PullRequest
0 голосов
/ 01 августа 2011

Я создаю игру, в которой на экране отскакивают бильярдные шары. Я создал MovieClip только с одним кадром, который представлял мяч, экспортировал его в класс, расширил его до моих потребностей и анимировал его с помощью Event.ENTER_FRAME. Это работает нормально, но есть кое-что, что смущает меня - и сцена, и мяч имеют только один кадр каждый, поэтому я не совсем понимаю, как работает Event.ENTER_FRAME ... Я имею в виду, если нет ключевых кадров, как делается анимация ??? Если бы я использовал уже анимированный MovieClip, мне пришлось бы добавлять ключевые кадры, верно?

Ответы [ 4 ]

2 голосов
/ 01 августа 2011

Flash Player всегда воспроизводится на основе частоты кадров. фактическое перемещение экранных объектов зависит от того, слушают ли эти объекты инструкции в обработчике событий Event.ENTER_FRAME, часто сами перемещают / перерисовывают или нет. думайте о событии Event.ENTER_FRAME как о электрической розетке, которая может анимировать объект всякий раз, когда вы подключаете его.

переход от фрейм-скриптинга к реальному программированию может сбить с толку в этом отношении. Фрейм-сценарий и объект MovieClip обычно обрабатываются как кадр за кадром, по крайней мере, так считают пользователи, использующие Flash Professional IDE, поскольку их легко понять как концептуально, так и визуально.

в сценариях кадров Flash IDE кажется, что у вас больше визуального контроля над каждым кадром, и хотя эти кадры можно изменять по отдельности, чтобы отобразить последовательность покадров в стиле флип-бука (IE: удаление другого изображения) в каждый кадр), они также могут быть программно анимированы (IE: анимация движения). программно анимированные экранные объекты не занимают все больше и больше кадров, как вы думаете на основе Flash IDE, поскольку это только визуальные инструменты. среда выполнения AVM2 одинаково обрабатывает фрейм-сценарии и упакованный код.

MovieClip распространяется от объектов Sprite. в основном это один и тот же объект, за исключением того, что Sprite не имеет таких функций, как gotoAndStop () и т. д. Если вы переключаетесь на программирование на уровне пакетов из сценариев с фреймами, вы не должны использовать объекты MovieClip, поскольку они тяжелее и практически бесполезен - вместо этого используйте Sprite.

2 голосов
/ 01 августа 2011

Event.ENTER_FRAME привязано к скорости кадров в секунду .swf. Он будет продолжать использовать ENTER_FRAME независимо от того, анимируется ли мувиклип или нет.

Он не связан с кадрами анимации мувиклипа, кроме того, что он синхронизирован с ним, потому что он привязан к тому же интервалу времени, то есть 1000 мс / FPS.

Так что, что бы вы ни делали для анимации шаров программно из Event.ENTER_FRAME, абсолютно не имеет ничего общего с анимацией .

Запрограммированная и временная анимация - это две разные вещи. Код будет срабатывать независимо от того, где и где находится ваш видеоклип. Он вообще не связан с анимацией мувиклипа, хотя вы можете управлять ею из события ENTER_FRAME.

В итоге Event.ENTER_FRAME должен предоставить вам простой способ создания временного кода , , а не временной анимации.

1 голос
/ 01 августа 2011

Событие enterFrame вызывается на основе частоты кадров, это на самом деле не имеет никакого отношения к временной шкале movieclips. Просто так получается, что анимация шкалы времени мувиклипа также основана на частоте кадров. По крайней мере, так я на это смотрю, чтобы было легче.

1 голос
/ 01 августа 2011

Один кадр будет обновляться для каждого вызова ENTER_FRAME. как контейнер спрайтов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...