Flash анимация - как мне остановить цикл и остаться на последнем изображении / кадре? - PullRequest
0 голосов
/ 17 октября 2011

Я новичок во Flash и не могу остановить анимацию FLA на последнем кадре.Я использовал команду «stop ()» в Actionscript, но эта команда либо (i) останавливает анимацию и переходит к пустому белому кадру (возможно, к первому кадру анимации), если я вставляю пустой ключевой кадр, либо (ii)Все равно зацикливается, если я вставляю обычный ключевой кадр.

Я работаю с перестроенным FLA-файлом (то есть декомпилированным SWF-файлом) в последней версии Flash.В дополнение к Actionscript я попытался настроить параметры публикации (например, снять флажок «Цикл» и установить версию Flash на 7 или 8) и отредактировать параметры встраивания (как предложено в другом ответе на стеке), однако ни одно из этих действий не кажетсяиметь значение.

Любая помощь будет оценена - спасибо!

Ответы [ 3 ]

1 голос
/ 05 июня 2014

Пожалуйста, следуйте коду

<param name='loop' value='false' />
<object type='application/x-shockwave-flash' data='sourcefile' width='300' height='120' loop='false'>

Это прекрасно работает

0 голосов
/ 17 октября 2011

Есть несколько способов сделать это.Самый простой способ (например, предложенный «user559142») - просто поместить команду «stop ()» в последний кадр временной шкалы этого MovieClip.Просто добавьте его к последнему кадру.

К сожалению, MovieClips не отправляют событие COMPLETE, когда они достигли своего последнего кадра;Недостаток платформы, на мой взгляд.Более тяжелый способ гарантировать, что ваш MovieClip остановится на последнем кадре, состоит в прослушивании события ENTER_FRAME и вызове stop (), когда текущий кадр равен последнему кадру, например:

your_movie_clip.addEventListener(Event.ENTER_FRAME, function(e:Event):void 
{
   if (your_movie_clip.currentFrame == your_movie_clip.totalFrames)
   {
      your_movie_clip.stop(); 
   }
});

Однако следует отметить, что если вы снимите флажок «зацикливание», вы увидите, что содержимое не зацикливается, только когда SWF публикуется (и просматривается) в оболочке HTML, и даже тогда, только если содержимое, от которого вы пытаетесь остановитьзацикливание появляется на основной временной шкале.Если вы просто просматриваете в среде разработки, или у вашего контента есть собственные временные рамки, где вы пытаетесь предотвратить зацикливание, вы не увидите такого поведения.

0 голосов
/ 17 октября 2011

Есть ли какие-нибудь видеоклипы на сцене?

Вы должны знать, что у каждого мувиклипа есть своя временная шкала, и, таким образом, чтобы не дать анимации этому конкретному мувиклипу, stop(); должен быть помещен в соответствующий ключевой кадр в этом мувиклипе.график ..

...