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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

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

Регистрация: Mar 2006
Сообщений: 8
По умолчанию Найти функцию в одном из родителей

Добрый день!
У меня было приложение использующее в своей работе сторонние swf типа меню и таймера.

Раньше я использовал код типа
Код:
this.PauseTime.onPress = function() {
    _root.PauseTime();
    ...
}
Но когда появился прелоадер, я этого делать уже не могу. И моя функция PauseTime() не вызывается.

пробывал типа так
Код:
this._parent._parent. ... PauseTime();
тоже что-то не очень.. вот думаю, куда потерялась моя функция и можно ли пробежаться по всем parent'ам и спросить у них типа есть у тебя такая функция ?
типа так
Код:
tmp_parent = this._parent;
while (tmp_parent != null) {
  if (tmp_parent.has_function("PauseTime")) break;
  tmp_parent = tmp_parent._parent;
}
можно ли так?

P.S. _rootlock=true сделать не могу к сожалению =(

Старый 15.03.2006, 04:35
breez38 вне форума Посмотреть профиль Отправить личное сообщение для breez38 Найти все сообщения от breez38
  № 2  
Ответить с цитированием
breez38
 
Аватар для breez38

Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 233
Отправить сообщение для breez38 с помощью ICQ
ситуацию не совсем понял. Но...
если ты хочешь вызвать из подгруженного ролика функию того ролика, куда грузил, то без lockroot не обойтись. Единственное, что можно попробовать, это прописать эту функцию в _global:
Код:
_global.PauseTime = function()
{
//твой код
}
PS А почему не можешь lockroot сделать?
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже!

Старый 15.03.2006, 12:00
meiciuc вне форума Посмотреть профиль Отправить личное сообщение для meiciuc Найти все сообщения от meiciuc
  № 3  
Ответить с цитированием
meiciuc

Регистрация: Nov 2005
Сообщений: 149
Думаю, что, как обычно и бывает в подобных случаях, был потерян путь к клипу, содержащему функцию. Нужно протрейсить пути к обоим клипам и скорректировать конечный путь к функции.

Старый 15.03.2006, 16:15
sem1313 вне форума Посмотреть профиль Отправить личное сообщение для sem1313 Найти все сообщения от sem1313
  № 4  
Ответить с цитированием
sem1313

Регистрация: Feb 2006
Сообщений: 588
Цитата:
Сообщение от stalk
Код:
this._parent._parent. ... PauseTime();
(
Попробуй убрать this. Я всегда так поступаю, можно обратиться к любому вложению из любого мувика. Посмотри сколько у тебя вложений друг в друга до мувика из которого ты вызываешь функцию, столько parent'ov и нужно будет установить. Если функция в самом первом(изначальном) мувике, то просто используй root.

И усё...

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

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

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


 


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


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