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

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

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

Регистрация: Apr 2004
Адрес: Харьков, Украина
Сообщений: 463
Отправить сообщение для Reijii с помощью ICQ
Question Вложеность событий

Доброго дня,

подскажите как решить проблему связанную с перекрытием собития вложенного мувика его родителем..
пробовал писать на вложенном
Код:
this.onRollOver = function () {
 var mc = this._parent
 while (mc) {
  mc.onMyRollOver()
  mc = mc._parent
 }
}
но flash усердно ругается.. через прототипы тоже не очень получилост..

помогите плиз.

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

Регистрация: May 2001
Адрес: Москва
Сообщений: 670
Код:
mc.onRollOver = function () {
TRACE("первый");
}
mc.mc.onRollOver = function () {
TRACE("вложенный");
}
или я не что не понял?

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

Регистрация: Apr 2004
Адрес: Харьков, Украина
Сообщений: 463
Отправить сообщение для Reijii с помощью ICQ
Скорее всего я не дообъяснил.

у меня есть класс, который строит меню (из XML), в качестве кнопок он берет указанный пользователем мувик из библиотеки, в нутри которго есть есть пользовательский код для анимации кнопачки (например оновер - play(2) и т.п.).. но при построении меню, "вешается" событие (кллассом) на оновер, для показывания под меню.. вот.. и получается в рузальтатет что подменю показывается а анимация не играется

Старый 26.12.2005, 12:37
s_u_m_p вне форума Посмотреть профиль Отправить личное сообщение для s_u_m_p Посетить домашнюю страницу s_u_m_p Найти все сообщения от s_u_m_p
  № 4  
Ответить с цитированием
s_u_m_p

Регистрация: Mar 2004
Адрес: Областной центр "sump"
Сообщений: 202
Отправить сообщение для s_u_m_p с помощью ICQ
2Stone в твоем варианте вложенный мув в жизни не получит евента rollOver.

единственный вариант на родителе поставить обработчик событий мыши

Код:
onMouseMove = function () {
if (this.hitTest (_root._xmouse, _root._ymouse)) {
trace ('parent.rollOver');
}
}
__________________
:::::::::::: sump ::::::::::::


Последний раз редактировалось s_u_m_p; 26.12.2005 в 12:40.
Старый 26.12.2005, 12:44
Reijii вне форума Посмотреть профиль Отправить личное сообщение для Reijii Найти все сообщения от Reijii
  № 5  
Ответить с цитированием
Reijii
 
Аватар для Reijii

Регистрация: Apr 2004
Адрес: Харьков, Украина
Сообщений: 463
Отправить сообщение для Reijii с помощью ICQ
Спасибо. я тоже думал что прийдется так делать, но искал более другого метода )
но тогда вопрос ) встречный, а как обойти onRelease ?
даже скорее всего правильней спросить не onRelese, а вообще все on* , ведь как только объявить "котейнеру" событие, он все съедает.


Последний раз редактировалось Reijii; 26.12.2005 в 12:51.
Старый 26.12.2005, 12:56
s_u_m_p вне форума Посмотреть профиль Отправить личное сообщение для s_u_m_p Посетить домашнюю страницу s_u_m_p Найти все сообщения от s_u_m_p
  № 6  
Ответить с цитированием
s_u_m_p

Регистрация: Mar 2004
Адрес: Областной центр "sump"
Сообщений: 202
Отправить сообщение для s_u_m_p с помощью ICQ
события onMouse* получает все, не важно что определенно у родителя.
если у родителя определенно хотя бы одно из [onRollOver, onRollOut, onRelease, onPress] его дети уже не получат этих событий (даже если при этом у родителя стоит enabled = false), поэтому если ты хочешь чтобы дети тоже получали, то можно так

Код:
mc.onRelease = function () {
this.onReleaseHandler ();
for (var name:String in this) {
var mc:MovieClip = this [name];
if (MovieClip (mc) != null && mc.hitTest (_root._xmouse, _root.ymouse)) {
mc.onRelease ();
} // end if
}
}
__________________
:::::::::::: sump ::::::::::::

Старый 26.12.2005, 13:50
Reijii вне форума Посмотреть профиль Отправить личное сообщение для Reijii Найти все сообщения от Reijii
  № 7  
Ответить с цитированием
Reijii
 
Аватар для Reijii

Регистрация: Apr 2004
Адрес: Харьков, Украина
Сообщений: 463
Отправить сообщение для Reijii с помощью ICQ
чтото как-то не вышло.. нужно поискать драйвера к рукам...
вот мой код.. может там что не так, и при его наличии будет понятней моя проблема.
Вложения
Тип файла: zip src.zip (7.2 Кб, 50 просмотров)

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

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

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


 


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


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