Я пытаюсь использовать addFrameScript()
для анимации SWF, которую я загрузил, но столкнулся с несколькими проблемами. Вот что работает прямо сейчас:
public function project() {
var loader:Loader = new Loader();
loader.load(new URLRequest("animation.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, animLoadComplete, false, 0, true);
}
private function animLoadComplete(e:Event):void {
anim = e.target.content as MovieClip;
addChild(anim);
//anim.addFrameScript(anim.totalFrames - 1, animEnd);
}
private function animEnd():void {
trace("animEnd");
}
Таким образом, анимация воспроизводит плавник и просто повторяется снова и снова.
Проблема, похоже, заключается в том, что анимация запускается независимо от использования stop()
, play()
или какой-либо функции анимации. A trace(anim.totalFrames)
также показывает, что моя анимация состоит из 2 кадров, а не 23 (что так и есть).
Когда я отменяю комментарий anim.addFrameScript(anim.totalFrames - 1, animEnd);
сценарий кадра, кажется, вызывается каждый кадр, и анимация перестает воспроизводиться и вместо этого заменяется флэш-памятью "точки загрузки", где она должна появляться.
Полагаю, мой вопрос двоякий. Правильно ли я загружаю свою анимацию и почему из-за фреймскрипта моя анимация исчезает?