Связь между внешним SWF и внешним SWF, Flash, AS2 - PullRequest
0 голосов
/ 02 октября 2009

Flash CS4, AS2

Я сделал интерактивный тур. Это можно увидеть здесь:

http://www.92YTribeca.org/Tour нажмите на нижнее изображение

Каждый из 4 разделов является внешним SWF и загружен на уровне 1. Я хочу, чтобы кнопка на одном SWF (план этажа) загружала другой SWF (аренда помещений) И определяла конкретный кадр на временной шкале SWF.

Я пробовал много разных способов, все заканчивали тем, что загружали swf в первом кадре и игнорировали остальную часть кода, говорящую о временной шкале. Я знаю, что могу разбить этот SWF-файл на несколько внешних SWF-файлов и получить желаемый результат, но я бы предпочел использовать код, если смогу.

Возможно ли то, что я хочу сделать? Если да, то как мне написать код?

Спасибо!

Ответы [ 4 ]

0 голосов
/ 12 марта 2010

Я давно ищу связь между root swf и загруженным swf, и это было очень полезно.

var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(this);
function onLoadComplete(loadedClip) {
  loadedClip.gotoAndStop(2);
}
loader.loadClip("chapter1.swf", targetClip);

Единственное, что я не могу понять, - это как выполнить действие при включении (нажать) для сообщения на второй кадр загруженного SWF вместо действия onLoadComplete.

0 голосов
/ 02 октября 2009

Так как вам удается загрузить их в совершенстве, я думаю, что это не проблема. Распространенная проблема заключается в том, что вам нужно вызывать функцию «gotoAndStop», когда клип полностью загружен, вы будете делать это, когда вызывается обработчик onLoadInit прослушивателя MovieClipLoader.

0 голосов
/ 31 октября 2009

Попробуйте это:

var MC1:MovieClipLoader = new MovieClipLoader();
MClistener = new Object();
MClistener.onLoadComplete = function() {
     trace("LOADED COMPLETED");
};    
MC1.addListener(MClistener); 
MC1.loadClip("Whatever.swf", "adLoader");
0 голосов
/ 02 октября 2009

То, что вы хотите сделать, определенно возможно. Вам нужно подождать, пока SWF-файл загрузится, прежде чем вы сможете указать ему перейти к определенному кадру. Самый простой способ сделать это - использовать класс MovieClipLoader.

var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(this);

function onLoadComplete(loadedClip) {
    loadedClip.gotoAndStop(5);
}

loader.loadClip("floorplan.swf", targetClip);

Это загрузит floorplan.swf в местозаполнитель с именем «targetClip» и после загрузки должен перейти к кадру 5.

Для получения дополнительной информации см. Документацию MovieClipLoader: http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/js/html/wwhelp.htm?href=00001993.html

...