Просмотр полной версии : метод onRollOver через .prototype для мувиков в данном мувиклипе
Вот у нас есть мувиклип Tools, в котором есть куча мувиков. Хотелось бы чтобы метод onRollOver назначился для всех этих мувиков. Хочу использовать prototype, но ничего не получается. Работает только для вообще всех мувиклипов, а вот как это реализовать с помощью прототипа только внутри нужного мувиклипа???
MovieClip.prototype.onRollOver = function() { trace("!"); } - работает вообще для всех мувиклипов(оно и понятно :)).
А вот бы что-нить типа
Tools.MovieClip.prototype.onRollOver = function() { trace("!"); } работало. Как это сделать?
BBOY Ильич
26.08.2008, 21:07
MovieClip.prototype.RollOver = function() { this.onRollOver = function (){trace("!"); }};
Tools.RollOver();
т.е. все равно придется для каждого внутреннего мувика назначать:Tools.brush.RollOver(); или перебирать их for(i in Tools)? Тогда смысл в прототипе?
Смысл моего вопроса был в том, чтобы любой созданный/имеющийся мувиклип внутри Tools имел onRollOver = function (){ trace("!"); } по умолчанию, т.е. чтобы не надо было это специально присваивать.
chingachgoog
27.08.2008, 14:07
Создайте свой класс (функцию).
В прототипе этого класса назначьте свой обработчик.
Циклом в Tools перебираете мувики и назначаете указатель __proto__ в них на прототип своего класса.
Или другой вариант - в вашем коде выше, ставите в обработчике условие-проверку _parent - если это Tools - то выполняется действие.
Циклом в Tools перебираете мувики и назначаете указатель __proto__ в них на прототип своего класса.хм... Вы мой предыдущий пост читали?:) Чтобы не приходилось назначать это с использованием цикла. Это так перебором можно и без прототипов всяких обойтись :mosking: Что я раньше всегда и делал. А вот тут решил разобраться с прототипами.
Или другой вариант - в вашем коде выше, ставите в обработчике условие-проверку _parent - если это Tools - то выполняется действие.А вот в этом есть рац.зерно :) Наверное так и придется делать...
chingachgoog
27.08.2008, 14:43
хм... Вы мой предыдущий пост читали?:)
Ага, читал. Вы там не поняли зачем нужны прототипы.
Чтобы не приходилось назначать это с использованием цикла. Это так перебором можно и без прототипов всяких обойтись
Конечно можно.
Но с прототипами (классами) быстрее и рациональнее, как только число обработчиков будет больше одного :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.