Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Проблема с доступом к movieclip в подгруженном файле. (http://www.flasher.ru/forum/showthread.php?t=38323)

mainpart 12.10.2002 02:34

Проблема с доступом к movieclip в подгруженном файле.
 
Есть 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")();

и все =)


Часовой пояс GMT +4, время: 11:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.