Вход

Просмотр полной версии : Доступ к объектам подгружаемой swf


affka
11.08.2008, 16:29
Уже была тема, которая полностью отражает мою проблему:
http://www.flasher.ru/forum/showthread.php?t=98058
Но там до конца не доведено (либо я не понял)..
Можно ли БЕЗ прописывания событий или еще чего в подгружаемой swf это сделать? В подгружаемой swf есть только именованный объект.

qazwsx
11.08.2008, 16:42
Конечно можно.... Когда ты загрузил полностью SWF файл. Это тоже самое что и просто задать программно ролик в твоем проекте, либо сделать его руками и перенести на стейдж.

affka
11.08.2008, 17:55
Я тоже так думал.. но не могу понять почему не получается!
вот код родительского ролика:
createEmptyMovieClip("clip1", 1);
clip1.loadMovie("clip1.swf");

function loadclip1()
{
clip1.lab.text = "123";
trace(lab);
}

clip1.onEnterFrame = loadclip1;

в дочернем только объект Label с именем 'lab', больше там ниче нет.
в чем ошибка?!..

darksranger
11.08.2008, 18:03
1 оформите текст в теги

2 цитата iNilsa

Все делается точно также, как если бы у вас эти мувиклипы были бы сразу. НО ТОЛЬКО, после того как вы дождалиьс загрузки. То есть линейный код вида
Код:

mc.loadMovie ("test.swf")
mc.mcIn._alpha = 50;
Работать не будет. Так как загрузка еще не произошла.

affka
11.08.2008, 18:35
Как сделать чтобы работала? Я же прописал событие и я обращаюсь к дочерниму объекту ПОСЛЕ того как он загрузился.. Что не так?

affka
11.08.2008, 19:24
Или я не то событие использую (скорее всего..) Просто мануала нормального нет.. %(

crazyone
11.08.2008, 19:35
Вы обращаетесь к нему ниразу не ПОСЛЕ.
Нужно дождаться события загрузки, а потом обращаться. И да, грузите через MovieClipLoader.

affka
11.08.2008, 19:44
добился своего.. все-таки нашел пример..

примерно такое решение:

_root.createEmptyMovieClip( 'clip1', 0 );
var dataListener:Object = {};
dataListener.onLoadInit = function(mc:MovieClip){
trace("loading to "+mc+" started...");
trace(mc.lab);
}
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(dataListener);
mcLoader.loadClip("clip1.swf",_root["clip1"]);