![]() |
|
||||||||||
|
|||||
|
у меня есть, например, 2 класса на основе мувиклипа, один добовляет события онМаусСтоп, второй онДаблКлик.
По отдельности они замечательно работают. А как мне породить мувик чтоб он имел в себе эти 2 (3...5...10) метода? спасибо |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,282
|
Сделать один класс от MovieClip, в него запихнуть методы добавления обоих событий и названые 2 класса наследовать не от MovieClip, а от его потомка.
Цитата:
Последний раз редактировалось etc; 15.11.2007 в 01:26. |
|
|||||
|
чё-то не пашет
mm.as onms.as import mx.utils.Delegate;
class onms extends mm {
var onMouseStop:Function;
private var interval_onms:Number;
private var onmsListener:Object = new Object();
function onms() {
watch("onMouseStop", Watcher);
}
private function Watcher(prop, oldVal, newVal){
//trace("watched")
if(prop == "onMouseStop"){
onmsListener.onMouseMove = Delegate.create(this, onMoveMouse);
Mouse.addListener(onmsListener);
return newVal;
}
}
private function onStopMouse() {
//trace("stoped")
clearInterval(interval_onms);
if(onMouseStop) onMouseStop();
else Mouse.removeListener(onmsListener);
}
private function onMoveMouse() {
//trace("moving")
clearInterval(interval_onms);
interval_onms = setInterval(Delegate.create(this, onStopMouse), 300);
}
}
Последний раз редактировалось Mnilionic; 15.11.2007 в 01:47. |
|
|||||
|
Modus ponens
|
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 15.11.2007 в 13:28. |
|
|||||
|
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
Полиморфизм
Делаете цепочку наследования, третий (онДаблКлик) класс наследуется от мувиклипа, второй (онМаусСтоп) от третьего, а общий класс (онДаблКлик, онМаусСтоп) наследуется от второго. В Итоге имеете иерархию из трёх классов в которой общий совмещает в себе два класса. |
|
|||||
|
screamge, а есть ли возвожность подключать их параллельно?
Тоесть имеется класс main и к нему подключено ещё 5 необходимых классов. И порождый мувик от main имеет все свойства и методы подключённых классов. wvxvw, так наследуеься только свойство, которое в момент инициализации пустое и как результат - не работает ![]() Последний раз редактировалось Mnilionic; 15.11.2007 в 17:08. |
|
|||||
|
Modus ponens
|
Эм... в моем примере ничего не наследуется... просто назначаете внутренней переменной одного класса значение взятое из прототипа другого. А если вопрос, о том возможно ли наследовать в одном классе методы разных - ответ нет. Не в АС2 точно. Лучше изначально придумать структуру так, чтобы не сталкиваться с такими ситуациями. Если честно, то назначение кода в примере не совсем понятно... Чего в итоге нужно сделать?
Кроме того, я как-то плохо себе представляю, как будут вместе уживаться просто 2 объекта такого класса... onmsListener по ходу для всех инстансов этого класса общим будет.
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 15.11.2007 в 19:05. |
|
|||||
|
wvxvw, понятно.
Да вы правы листнеры перекрываюся, я думал у каждого экземплара различные значения свойтв (.. Но в любом случае это был просто тестовый пример - разбираюсь в классах и ищу их применение. спасибо. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|