Форум 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)
-   -   Функция на событие для всех клипов (http://www.flasher.ru/forum/showthread.php?t=105166)

FL2006 09.12.2007 17:39

Функция на событие для всех клипов
 
Можно ли без особого гемороя поставить функция на событие для всех, допустим, MovieClip`ов? Если нельзя без гемороя, то наверное есть другие вырианты. Прошу подсказать..

koIIImarik 09.12.2007 19:07

Примерно так
Код:

MovieClip.prototype.onRollOver=function(){
        trace("Сработала функция onRollOver для всех мувиков")
}

Ну и не забудьте в самой флешке сделать экземпляры Movie Clip'ов

FL2006 10.12.2007 17:51

Все хорошо, только при добовлении ComboBox`a и на него распространяется эта функция... Как возвратить стандартную?
Пробовал так
Код:

_root.MyCombo.onMouseOver = ComboBox.prototype.onMouseOver;
не помогло..

wvxvw 10.12.2007 20:03

ComboBox - тоже MovieClip. Значит, либо не у всех клипов (создавать свой класс), либо у всех, включая комбобкс и все остальные компоненты.

koIIImarik 10.12.2007 23:19

Можно специально для комбобокса прописать событие, в котором ничего не будет происходить после объявления события для всех Movie Clip'ов, должно работать.

FL2006 11.12.2007 12:30

wvxvw, а по подробнее можно??

koIIImarik 11.12.2007 12:33

Если у вас только один комбобокс не должен реагировать на действия для всех мувиков, советую именно для него и прописать это событие, чтобы перекрывалось событие класса. А вообще, конечно, лучше учить классы, они упрощают жизнь очень.

FL2006 11.12.2007 12:58

Если я задаю ComboBox`у на событие пустую функцию, то это ничего не меняет. он как не работал корректо, так и не работает.

wvxvw 11.12.2007 13:23

UIObject extends MovieClip
UIComponent extends UIObject
ComboBox extends UIComponent - ComboBox тоже мувиклип.
Определять одно из базовых свойств самого используемого класса - по крайней мере недальновидно. Не нужно просто этого делать. Можно "отписать" потом комбобокс от этого, но для этого нужно будет переписать часть его класса и перекомпайлить компонент (он состоит не из одного клипа, нужно будет во всех, из которых он состоит удалить ваш onMouseOver)...
Если вам нужно типизированое поведение ваших "уникальных" клипов - самое правильное решение создать для этого свой же класс наследуемый от MovieCLip и с ним уже делать что угодно.

ЗЫ. А стандартные компоненты вообще лучше не использовать, но это отдельная тема.


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

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