PDA

Просмотр полной версии : Проблема с доступом к movieclip в подгруженном файле.


mainpart
12.10.2002, 02:34
Есть swf корневой. В нем используется _root.mc.loadMovie(swf_loaded). В нем есть library с movieClip'ом. Так вот, когда используется конструкция в первом фрейме этого swf_loaded такого типа this.attachMovie(mcId,mcNewName,level) то все замечательно выводится на экран, но стоит обратиться к уровню выше, попробовав подгрузить тот-же клип на _root или хотя бы на _parent - ничего не выходит. Попробовал перенести этот мувик в библиотеку базового swf - заработало. Как указать полный путь до этого клипа в загруженном файле при использовании _root.attachMovie(<наш подгруженный клип в библиотеке>,newName,level)

Спасибо.

realMakc
12.10.2002, 06:16
Вы думаете такое вообще возможно? Это же несекьюрно, а они в Макромедии на секьюрити помешаны... Вот, плейер с блокировкой джаваскрипта вышел...

А то что из лайбрари грузится - ну так ясен день...

Может стоит попробовать runtime shared assets - ещё не вполне представляю правда что это и с чем его едят, но звучит неплохо. Ща сам хелп почитаю :)

Nox Noctis
13.10.2002, 21:16
не получится.

нельзя приаттачить то, что лежит не в собственной библиотеке свф. (при операции лоадмуви библиотеки не сливаются)


можно сделать в библиотеке свф1 символ с линкейджем на _импорт_,
где указать путь к свф2 и линкейдж нужного символа с линкейджем на _экспорт_ в этом свф2

после этих манипуляций, в библиотеку свф1 будет попадать нужный символ из свф2

если теперь вложить этот символ в еще один, уже с линкейджем на экспорт,
то его можно будет аттачить внутри свф1

mainpart
14.10.2002, 01:41
Дело в том, что я на этапе линковки не могу во всех библиотеках прописать нужные мувики - они у меня динамически подгружаются...

И еще вопрос:
почему-то флеш не хочет исполнять такую хрень:

(все это в _root)

function asdf(){
trace("blah-blah-blah");
}
eval("_root.asdf()");

зато исполняет такую:
asd=eval("_root.asdf");
asd.call(asd);

Nox Noctis
14.10.2002, 11:18
ишь чего захотел =))

хочешь чтобы типа передал строчку в евал,
а эта замечательная функция ее бы налету скомпилировала ? =))))

евал всего лишь возвращает значение ко ключу-строке...

вот так, к примеру, будет работать (но не так как нужно =)) ):
this["asdf()"] = "123123123123"
trace(eval("asdf()"));

в твоем случае проще написать:

eval("_root.asdf")();

и все =)