
18.10.2002, 21:09
|
|
Регистрация: Oct 2002
Сообщений: 10
|
Это все не в ту степь. Я знаю, что функции можно вызывать путем указания полного пути к ним. Т.е. _root.mc1.mc2.mc3. ... mcN.our_function(var1,...,varN) прекрасно работает. Я говорю про создание ссылки на функцию, ибо хендлер onEvent во флеше принимает только ссылку на функцию. поясню на примере:
есть функция
function asdf(variable){
trace("function passed with "+variable);
return "aaa";
}
тогда если мы присваем событию onEvent какого-либо клипа asdf("test") то ему присвоится значение "aaa", как значение возвращаемой функции. Если же мы присвоим событию onEvent результат выполнения функции eval("this.asdf") то все получится - по возникновению события вызовется именно эта функция.
Т.е.
this.mc1.onLoad=asdf(variable); - не правильно
this.mc1.onLoad=eval("this.asdf"); - правильно
Теперь следующий вопрос, вернее переформулировка первого.
файл external.swf. Один фрейм.
В этом первом фрейме функция initSwf(a,b);
файл root.swf
конструкция вида
for (i=1;i<5;i++){
_root.createEmptyMovieClip("clip"+i,i);// создаем clip1,clip2,clip3 и т.д.
clipName=eval("_root.clip"+i);
clipName.loadMovie("external.swf");
clipName.onLoad=function(){trace("clip loaded");}
}
Здесь начинаются проблемы.
Во первых, onLoad для этого клипа не вызывается никогда. Во вторых, как вызвать функцию инициализации в external.swf после его загрузки из главного модуля и в третьих, как передать параметр в эту функцию инициализации.
|