PDA

Просмотр полной версии : Функция на событие для всех клипов


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 и с ним уже делать что угодно.

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