не могу получить доступ к методам загруженного файла SWF - PullRequest
0 голосов
/ 14 ноября 2011

Я не могу получить доступ к чему-либо из загруженного файла SWF.Однако я могу получить доступ к родительским переменным / методам из загруженного SWF-файла.

var ldr:ProLoader;

function loadExternalSWF():void {
    ldr = new ProLoader();
    ldr.load(new URLRequest("introAS3.swf"));
    wrapperMC.addChild(ldr);
}

loadExternalSWF();

buttonNextMC.addEventListener(MouseEvent.CLICK, buttonNextMC_Click);

function buttonNextMC_Click(event:MouseEvent):void {
    MovieClip(wrapperMC).ldr.gotoAndPlay(31);
}

Это просто дает мне ошибку:

TypeError: Error #1010: A term is undefined and has no properties.

РЕДАКТИРОВАТЬ: wrapperMC - просто пустой мувиклипэкземпляр, который я создал и поместил на сцену для загрузки внешнего фильма.

1 Ответ

1 голос
/ 14 ноября 2011

Почему wrapperMC имеет свойство с именем "ldr"?Вы могли бы пойти с:

function loadExternalSWF():void {
    ldr = new ProLoader();
    ldr.load(new URLRequest("introAS3.swf"));
    ldr.name = "ldr";
    wrapperMC.addChild(ldr);
}

function buttonNextMC_Click(event:MouseEvent):void {
    MovieClip(MovieClip(wrapperMC).getChildByName("ldr")).gotoAndPlay(31);
}

С другой стороны, маловероятно, что ваш загруженный клип заменит ваш объект ProLoader, вместо этого он добавит его в свою собственную дочернюю коллекцию.В этом случае вам нужно, чтобы дочерние загрузчики звонили gotoAndPlay().

Не зная, как работает ProLoader, я предполагаю, что у вас есть следующая дочерняя структура

wrapperMC -> ldr -> introAS3

, чтобы вы могли использовать:

MovieClip(DisplayObjectContainer(wrapperMC.getChildAt(0)).getChildAt(0)).gotoAndPlay(31);

Но это только предположение.

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