Просмотр полной версии : Вызов глобальной функции (_global)
Здравствуйте. Подскажите, пожалуйста, каким образом можно вызвать глобальную функцию находящийся в одном MovieClip (mc1) из другого (mc2) при событии onRelease на последнем. При написании (примерно):
mc2.onRelease = function () {
_global.function1 = function () {}
}
нет даже захода внутрь функции. В AS2 вроде нельзя вешать две функции на одно и тоже события - как можно разрешить проблему? Заранее спасибо.
Alex_beginner
21.05.2008, 19:05
Цитата из книги Дмитрия Гурского:
Как, располагаясь «внутри» mov1, узнать координату по X клипа mov3? А сделать это очень просто, написав полный адрес mov3:
trace(_root.mov2.mov3._x);
Также можно получить доступ к любой функции второго клипа из первого
trace(_root.mov2.mov3._x);
Также можно получить доступ к любой функции второго клипа из первого
К сожалению этот метод (примерный код):
mc2.onRelease = function () {
_root.mc1.function1();
}
тоже был испробаван и не дал результата. Удавалось только до переменых function1() достучаться.
chingachgoog
21.05.2008, 20:02
Если функция указана как глобальная, т.е.
_global.function1
то она вызывается из любого места просто как function1()
А тут проблема в другом.
До того момента пока не сработает обработчик onRelease на мувике mc2, такой функции (_global.function1) вообще НЕ СУЩЕСТВУЕТ. Поэтому ее и не удасться вызвать.
Спасибо - простой вызов глобальной функции function1() без прописания пути сработало. Возник другой вопрос - внутри этой функции (function1()) есть onEnterFrame = function(){}, всё что до onEnterFrame выполняется , но события прописанные внутри onEnterFrame не выполняются. Могли бы вы подсказать как это можно было б решить?
Alex_beginner
22.05.2008, 11:22
А для чего, позвольте узнать, нужно onEnterFrame вставлять в функцию. Неясно. На чьей таймлайн писан код?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.