PDA

Просмотр полной версии : Дважды вложенный мув не видит _root (срочно)


Мимоход
17.06.2004, 16:51
Если кто сейчас здесь - help, pls!
Есть главный мув mc1. В него loadMovie mc2. Когда он загрузился - в него loadMovie mc3.
В mc3 есть кнопка, на ней код:

on (release) {_root.menu(10);}

В mc1 есть
function menu (numb){тыры-пыры;}

которая на вызов не откликается ну ваще никак.

Однако же когда я вставил function menu () в mc2 и запустил mc2 - функция отозвалась...
Может ли быть, что дело в "двухступенчатом" вложении? Мне не верится, но при однократном-то вложении все работает...

Крин
17.06.2004, 16:57
Положи её в рут.. и попробуй так же запустить...
или вообще сделай её _global

Елё
17.06.2004, 17:03
А почему функция из mc1 дожна вызываться через _root?

Мимоход
17.06.2004, 17:04
Оригинал написал(а) Крин
Положи её в рут..
Кого?

Елё
17.06.2004, 17:08
_root.menu = function (numb){тыры-пыры;}

Крин
17.06.2004, 17:08
функцию....

Мимоход
17.06.2004, 17:13
Оригинал написал(а) Елё
А почему функция из mc1 дожна вызываться через _root?
Не из mc1 - это "внешний" мув. mc3 вложен в mc2, который вложен в mc1. Функция находится в mc1, а вызывается она (должна вызываться) из mc3.

То есть для mc3 _root - это _root mc1 (дожен бы быть)

mc3 - это менюшка. На разных страницах она должна вести себя по-разному, а грузить ее несколько раз не хоца (10 kB)

Елё
17.06.2004, 17:13
_root.menu = function(numb){тыры-пыры;}

Елё
17.06.2004, 17:16
То есть для mc3 _root - это _root mc1 (дожен бы быть)
Это конечно верно
Не верно что функция написанная в mc1 может быть вызвынна как _root.menu

пиши ее в руте, или вызывай как _parent._parent.menu()

Мимоход
17.06.2004, 17:17
Оригинал написал(а) Крин
или вообще сделай её _global

А как это пишется? :(

Мимоход
17.06.2004, 17:19
Оригинал написал(а) Елё

пиши ее в руте, или вызывай как _parent._parent.menu()
Там глубина вложенности от случая к случаю разная...

То _parent._parent.menu() , а то _parent.menu()

silin
17.06.2004, 20:24
Есть главный мув mc1. В него loadMovie mc2. Когда он загрузился - в него loadMovie mc3.
если ты mc1 загрузил другой мув(mc2) ,то напрасно ты ищешь там свою функцию: ее там больше нет, а есть тока то, что было в загруженном мувике(mc2)

Мимоход
17.06.2004, 21:18
Пардон, лажу написал. В фильме создан мувик mc1, и уже в него грузится вся остальная хрень (то есть _root этого фильма и все, что в нем, остается жить)

silin
17.06.2004, 21:56
ну если рут остается жить, то и создавай функцию в нем (или в mc1, но после загрузки в него другого)

Мимоход
17.06.2004, 23:46
Таки хохма в том, что я так и делаю, а на вызов эта функция не откликается. mc3 не видит в руте ничего - я пытался из mc3 trace(_root.ggg), создав в руте такую переменную - ни хрена...

silin
18.06.2004, 00:20
пример давай (нет смысла угадывать где косяк)

Мимоход
18.06.2004, 22:03
Спасибо за соучастие, пойду к ортопеду - пора руки с ногами местами менять.
Нашел-таки глюк - весь код был заключен в if с невыполняемым условием... :(