![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|
|
|||||
|
Регистрация: Jan 2002
Сообщений: 3
|
Есть проблема с вызовом функций из символа.
Есть символ и там только один фрейм. В этом фрейме есть функция: function ShowVar() { trace("Hello"); } Этот символ я вставляю в основной stage с именем "s1". И потом пытаюсь вызвать ее из первого фрейма. s1.ShowVar(); stop(); Так вот, эта функция упорно не вызывается. А если ее пытатся вызвать как событие на нажатие какой-нибудь кнопки, то все впорядке. Есть подозрение, что когда скрипт из фрейма начинает выполнятся, то символ еще не загрузился в этот фрейм. может кто-то подскажет решение этой проблемы. Надеюсь, что доступно описал проблему |
|
|||||
|
Эт я как всегда теоретически
...Попробуй на s1 повесить onClipEvent(load){ this.ShowVar(); } Или в s1 два кадра: 1) funkc(); 2) вызов ее и stop(); |
|
|||||
|
Ветеран форума
|
_root.s1.ShowVar();
или проверь путь и вместо _root поставь полный путь... еххх |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
просто сначала выполняется код в руте,
а потом выполняется в кадре клипа, все просто, рут вызывает функцию которая не была проинициализирована, простой пример, в прервом кадре рута: trace("root") в мувиклипе: trace("MC") на выходе получим root MC |
|
|||||
|
Регистрация: Jan 2002
Сообщений: 3
|
Спасибо тем, кто откликнулся.
К сожалению ни один из предложенных способов не помог решить проблемы. 1. onClipEvent(load){ this.ShowVar(); } Вообще ничего не показывает. 2. _root.s1.ShowVar(); Ни этот путь, ни путь который я брал из окна списка переменных (подозреваю, что там показывается точный абсолютынй путь), ничего не показывает. 3. По поводу порядка инициализации. Я тоже склоняюсь к мысли, что это причина. Но вопрос как ее обойти. Я пока придумал только поставить какую-то задержку, чтоб подождать пока символ иницициализурется. Но это теоретичски. На практике я эту идею не проверял, так как надеюсь, что есть более красивые решения. |
|
|||||
|
Каюсь, погарячился, на то и теория
С onClipEvent(load) тот-же аналогично тяжелый случай, что и с вызовом из _rооt'a, а на практике все до безобразия просто оказалось - код единственного кадра в мувике: show=function(){ trace("YO"); } show(); |
|
|||||
|
имхо, рациональнее закатать функцию в рут и визывать
onClipEvent(load){ _root.show(); } или прототипами... |
|
|||||
|
Хе, а можно по дедовски, в кадре мувика после описания функции просто call ("/:1");
Будет вызываться с основной сцены из первого кадра функция. Но зачем все это, зачем писать лишнее?
__________________
----------------- Глава, последняя в этой истории: Добро побеждает Зло и наступает Happy End, но какой-то подозрительный! ---------------- |
|
|||||
|
Регистрация: Jan 2002
Сообщений: 3
|
Задача которую мне надо решить, насамом деле более широкая:
У меня клип показывает информацию из массива. Массив хриниться в самом клипе. И в самом клипе храниться функция которая добавляет данные в этот массив. Я просто вызваю эту функцию из любого места, и данные автоматом отображаются. Я пытался создать что-то наподобие объекта :)))) Вынес каких-либо функций наружу из клипа вообще создаст чехарду. Уж лучше вставить задержку в первый фрейм и подождать пока инициализируется символ. А пример с ShowVar я специально создал для этого форума. Вроде мне казалось что суть проблемы он показывает и кодом лишним не "загружает". С уважением, Овчаренко Вадим. |
|
|||||
|
Дело хозяйское
![]() |
![]() |
Часовой пояс GMT +4, время: 15:08. |
|
|
« Предыдущая тема | Следующая тема » |
|
|