|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Цитата:
Впрочем, прочитай пост №6 или №8 |
|
|||||
4AM Games
|
ты можешь создать класс, наследник мувиклипа.
повесить туда рассылку событий типа хотя в случае с EventDispatcher это уже не нужно, ибо можно подписывать обработчики событий, достаточно легко.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ Последний раз редактировалось Nirth; 14.06.2006 в 17:37. |
|
|||||
Регистрация: May 2001
Адрес: Москва
Сообщений: 670
|
2 Nirth
а примерчик можно, а то уже совсем ничего не понимаю. |
|
|||||
4AM Games
|
какой примерчик? создаешь класс, в нем создаешь свой он интер фрейм, и подписываешь нужные обработчики.
почитай в хелпе про EventDispatcher
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
Регистрация: May 2001
Адрес: Москва
Сообщений: 670
|
я его и читаю
import mx.events.EventDispatcher; class MyMC extends MovieClip { //Создаем методы которые нам передаст EventDispatcher, private var dispatchEvent:Function; //Данный метод будет вещать события public var addEventListener,removeEventListener:Function; //Данные два метода будут подписывать и удалять слушатели public var onMove:Function; // А это наше будущее событие public function MyMC () { EventDispatcher.initialize(this); //данный метод класса EventDispatcher передает нам методы для вещания и добавления листенеров this.addEventListener('onMove',this); // подписываем себя на событие } public function move(x:Number,y:Number) { _x=x; _y=y: dispatchEvent({type:'onMove',xp:x,yp:y}); //вещаем событие с двумя параметрами(новые координаты } } |
|
|||||
Регистрация: May 2001
Адрес: Москва
Сообщений: 670
|
сори - работает
только как мне туда onEnterFrame впихнуть? |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Хм, только нафига подписывать самого себя на свои же события...
|
|
|||||
Регистрация: May 2001
Адрес: Москва
Сообщений: 670
|
единственное чего получилось добиться это
import mx.events.EventDispatcher; import mx.utils.Delegate; class MyMC extends MovieClip { //Создаем методы которые нам передаст EventDispatcher, private var dispatchEvent:Function; //Данный метод будет вещать события public var addEventListener,removeEventListener:Function; //Данные два метода будут подписывать и удалять слушатели public var onMove:Function; // А это наше будущее событие public function MyMC () { EventDispatcher.initialize(this); //данный метод класса EventDispatcher передает нам методы для вещания и добавления листенеров this.addEventListener('onMove',this); // подписываем себя на событие MovieClip.prototype.onEnterFrame=Delegate.create(this, _onEnterFrame); } public function _onEnterFrame() { dispatchEvent({type:'onMove'}); } } import MyMC; this.attachMovie('MyMC','mc',_root.getNextHighestDepth()); mc.onMove=function(){ trace('+') } mc.onEnterFrame=function(){ trace('-'); } - + + + |
|
|||||
4AM Games
|
господи, как ты читаешь хелп?
import mx.events.EventDispatcher; class EventDispatcherExample extends MovieClip { public var addEventListener:Function, removeEventListener:Function, dispatchEvent:Function; public function EventDispatcherExample() { EventDispatcher.initialize(this); } private function onEnterFrame():Void { dispatchEvent({type:'enterFrame'}); } } Flash запускать лень, поэтому не проверял, чуть позже верифайну.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
Часовой пояс GMT +4, время: 12:14. |
|
« Предыдущая тема | Следующая тема » |
|
|