Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 22.01.2002, 20:00
wadim_o вне форума Посмотреть профиль Отправить личное сообщение для wadim_o Найти все сообщения от wadim_o
  № 1  
wadim_o

Регистрация: Jan 2002
Сообщений: 3
Question вызов функ

Есть проблема с вызовом функций из символа.

Есть символ и там только один фрейм. В этом фрейме есть функция:
function ShowVar() {
trace("Hello");
}

Этот символ я вставляю в основной stage с именем "s1". И потом пытаюсь вызвать ее из первого фрейма.
s1.ShowVar();
stop();
Так вот, эта функция упорно не вызывается.
А если ее пытатся вызвать как событие на нажатие какой-нибудь кнопки, то все впорядке.
Есть подозрение, что когда скрипт из фрейма начинает выполнятся, то символ еще не загрузился в этот фрейм.
может кто-то подскажет решение этой проблемы.
Надеюсь, что доступно описал проблему

Старый 22.01.2002, 21:39
Papa Karlo вне форума Посмотреть профиль Отправить личное сообщение для Papa Karlo Найти все сообщения от Papa Karlo
  № 2  
Papa Karlo
 
Аватар для Papa Karlo

Регистрация: Jan 2002
Сообщений: 480
Отправить сообщение для Papa Karlo с помощью ICQ
Эт я как всегда теоретически ...
Попробуй на s1 повесить
onClipEvent(load){
this.ShowVar();
}
Или в s1 два кадра: 1) funkc(); 2) вызов ее и stop();

Старый 23.01.2002, 02:45
nagash вне форума Посмотреть профиль Отправить личное сообщение для nagash Посетить домашнюю страницу nagash Найти все сообщения от nagash
  № 3  
nagash
Ветеран форума
 
Аватар для nagash

Регистрация: Jul 2001
Адрес: Москва
Сообщений: 3,088
Отправить сообщение для nagash с помощью ICQ
_root.s1.ShowVar();
или проверь путь и вместо _root поставь полный путь...
еххх

Старый 23.01.2002, 03:39
john вне форума Посмотреть профиль Отправить личное сообщение для john Посетить домашнюю страницу john Найти все сообщения от john
  № 4  
john
МЕГАФЛЭШЕР

Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
просто сначала выполняется код в руте,
а потом выполняется в кадре клипа,
все просто,

рут вызывает функцию которая не была проинициализирована,

простой пример, в прервом кадре рута:
trace("root")

в мувиклипе:
trace("MC")

на выходе получим

root
MC

Старый 23.01.2002, 11:16
wadim_o вне форума Посмотреть профиль Отправить личное сообщение для wadim_o Найти все сообщения от wadim_o
  № 5  
wadim_o

Регистрация: Jan 2002
Сообщений: 3
Спасибо тем, кто откликнулся.
К сожалению ни один из предложенных способов не помог решить проблемы.
1.
onClipEvent(load){
this.ShowVar();
}

Вообще ничего не показывает.
2.
_root.s1.ShowVar();
Ни этот путь, ни путь который я брал из окна списка переменных (подозреваю, что там показывается точный абсолютынй путь), ничего не показывает.

3. По поводу порядка инициализации.
Я тоже склоняюсь к мысли, что это причина. Но вопрос как ее обойти. Я пока придумал только поставить какую-то задержку, чтоб подождать пока символ иницициализурется. Но это теоретичски. На практике я эту идею не проверял, так как надеюсь, что есть более красивые решения.

Старый 23.01.2002, 11:59
Papa Karlo вне форума Посмотреть профиль Отправить личное сообщение для Papa Karlo Найти все сообщения от Papa Karlo
  № 6  
Papa Karlo
 
Аватар для Papa Karlo

Регистрация: Jan 2002
Сообщений: 480
Отправить сообщение для Papa Karlo с помощью ICQ
Каюсь, погарячился, на то и теория
С onClipEvent(load) тот-же аналогично тяжелый случай, что и с вызовом из _rооt'a, а на практике все до безобразия просто оказалось - код единственного кадра в мувике:
show=function(){
trace("YO");
}
show();

Старый 23.01.2002, 12:28
Papa Karlo вне форума Посмотреть профиль Отправить личное сообщение для Papa Karlo Найти все сообщения от Papa Karlo
  № 7  
Papa Karlo
 
Аватар для Papa Karlo

Регистрация: Jan 2002
Сообщений: 480
Отправить сообщение для Papa Karlo с помощью ICQ
имхо, рациональнее закатать функцию в рут и визывать
onClipEvent(load){
_root.show();
}
или прототипами...

Старый 23.01.2002, 12:45
Sveta вне форума Посмотреть профиль Отправить личное сообщение для Sveta Найти все сообщения от Sveta
  № 8  
Sveta
 
Аватар для Sveta

Регистрация: Jan 2001
Адрес: временно Москва
Сообщений: 1,116
Отправить сообщение для Sveta с помощью ICQ
Хе, а можно по дедовски, в кадре мувика после описания функции просто call ("/:1");
Будет вызываться с основной сцены из первого кадра функция. Но зачем все это, зачем писать лишнее?
__________________
-----------------
Глава, последняя в этой истории: Добро побеждает Зло и наступает Happy End, но какой-то подозрительный!
----------------

Старый 23.01.2002, 13:14
wadim_o вне форума Посмотреть профиль Отправить личное сообщение для wadim_o Найти все сообщения от wadim_o
  № 9  
wadim_o

Регистрация: Jan 2002
Сообщений: 3
Задача которую мне надо решить, насамом деле более широкая:

У меня клип показывает информацию из массива.
Массив хриниться в самом клипе. И в самом клипе храниться функция которая добавляет данные в этот массив.
Я просто вызваю эту функцию из любого места, и данные автоматом отображаются.
Я пытался создать что-то наподобие объекта :))))
Вынес каких-либо функций наружу из клипа вообще создаст чехарду. Уж лучше вставить задержку в первый фрейм и подождать пока инициализируется символ.

А пример с ShowVar я специально создал для этого форума. Вроде мне казалось что суть проблемы он показывает и кодом лишним не "загружает".
С уважением, Овчаренко Вадим.

Старый 23.01.2002, 13:49
Papa Karlo вне форума Посмотреть профиль Отправить личное сообщение для Papa Karlo Найти все сообщения от Papa Karlo
  № 10  
Papa Karlo
 
Аватар для Papa Karlo

Регистрация: Jan 2002
Сообщений: 480
Отправить сообщение для Papa Karlo с помощью ICQ
Дело хозяйское

Создать новую тему   Часовой пояс GMT +4, время: 16:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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