Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Вызов глобальной функции (_global) (http://www.flasher.ru/forum/showthread.php?t=112231)

port 21.05.2008 18:48

Вызов глобальной функции (_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);

Также можно получить доступ к любой функции второго клипа из первого

port 21.05.2008 19:20

Цитата:

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) вообще НЕ СУЩЕСТВУЕТ. Поэтому ее и не удасться вызвать.

port 21.05.2008 20:27

Спасибо - простой вызов глобальной функции function1() без прописания пути сработало. Возник другой вопрос - внутри этой функции (function1()) есть onEnterFrame = function(){}, всё что до onEnterFrame выполняется , но события прописанные внутри onEnterFrame не выполняются. Могли бы вы подсказать как это можно было б решить?

Alex_beginner 22.05.2008 11:22

А для чего, позвольте узнать, нужно onEnterFrame вставлять в функцию. Неясно. На чьей таймлайн писан код?


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

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