Почему мой импортированный MovieClip (импортированный из SWF) не ведет себя как MovieClip? - PullRequest
1 голос
/ 27 апреля 2020
import flash.display.MovieClip;
import flash.display.Stage;
import flash.display.Loader;
import flash.net.URLRequest;

stop();

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, CreateCG_POST_LOAD);

loader.load(new URLRequest("TestMovieClip.swf"));

function CreateCG_POST_LOAD( e:Event ):void{

    var newMC:MovieClip = MovieClip(loader.content);
    stage.addChild(newMC);

    newMC.gotoAndStop(4); //seemingly does nothing

    trace("currentFrame " + newMC.currentFrame); //outputs 1, should be 4
    trace("totalFrames " + newMC.totalFrames); //outputs 1, should be 4
}
  1. Приведенный выше код появляется в кадре 1 (этапа) моего тестового проекта.

  2. TestMovieClip составляет всего 4 кадра, без AS3 код.

  3. Я создал TestMovieClip.swf, щелкнув правой кнопкой мыши (в библиотеке) -> 'Экспорт SWF ...'

ЦЕЛЬ: Я хотел бы загрузить внешний SWF и рассматривать его как мувиклип. Я хочу иметь возможность переходить к указанным c кадрам.

РЕЗУЛЬТАТ: клип появляется, но воспроизводится на бесконечном l oop. Вывод трассировки кажется бессмысленным.

1 Ответ

1 голос
/ 27 апреля 2020

Я обнаружил, что MovieClip создан WITHIN loader.content как дочерний объект.

Мне удалось достичь его с помощью этого:

var newMC:MovieClip = MovieClip( MovieClip(loader.content).getChildAt(0) );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...