|
|
|||||
Регистрация: Oct 2015
Сообщений: 1
|
Пользовательские события
Здравствуйте!
Есть такая проблема: Создаю свой класс BrushUpdateEvent extends Event. События у меня находятся в отдельном пакете. Затем это событие dispatchEvent(event) на спрайт(который представляет кнопку на выбор определенного объекта). Диспетчеризация происходит в слушателе события CLICK. package userEvents { import flash.events.Event; public class BrushUpdateEvent extends Event { public static const BRUSH_UPDATE:String = "brushUpdate"; public var field:uint; public var typeObj:uint; public var variation:uint; public function BrushUpdateEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false) { super(type, bubbles, cancelable); } } } private function hMouseClickTl(e:MouseEvent):void { var brEvent:BrushUpdateEvent = new BrushUpdateEvent(BrushUpdateEvent.BRUSH_UPDATE); brEvent.field = _currentField; brEvent.typeObj = (e.currentTarget as ObjectTXR).getIdObj; brEvent.variation = (e.currentTarget as ObjectTXR).currentFrame; (e.currentTarget as ObjectTXR).dispatchEvent(brEvent); } package editors { import flash.display.Sprite; import userEvents.BrushUpdateEvent; /** * ... * @author IG */ public class Cursor extends Sprite { public function Cursor () { this.addEventListener(BrushUpdateEvent.BRUSH_UPDATE, hBrushUpdate); } public function hBrushUpdate(e:BrushUpdateEvent):void { trace("Update"); _field = e.field; _typeObj = e.typeObj; _variation = e.variation; } ----------------------------------Editor ------------------Workspace----------------------Toolsbar ------------Cursor(влож. в спрайт)----------ObjectTXR(влож. в спрайт, который вложен в Toolsbar) Собственно я менял куда диспетчерить событие, добавлял слушателей в других классах, но событие не слушается(или не диспетчерится). В тоже время есть другая кнопка-триггер в Toolsbar, где по клику диспетчериться событие(в самом классе кнопки) а слушается в Toolsbar. Тут работает все нормально. Может чего подскажите. Спасибо. Последний раз редактировалось Guzzman; 15.10.2015 в 12:26. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
То есть, курсор слушает сам себя? А что он хочет услышать, откуда в нем возьмется это событие?
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
ну тут два варианта:
public function Cursor (objectTXR:ObjectTXR) { //передать в курсор ссылку на objectTXR objectTXR.addEventListener(BrushUpdateEvent.BRUSH_UPDATE, hBrushUpdate); } можно еще допустим в Toolsbar ловить событие и вызывать метод hBrushUpdate в курсоре |
|
|||||
Регистрация: Oct 2015
Сообщений: 32
|
1. Создаешь отдельный класс с сообщениями и методом их отправки.
2. Где нужно, создаешь экземпляр этого класса и работаешь с ним. Особенность в том, что этот класс будет отправлять своим сенсорам свои сообщения (пример:ActionScript3 => EventDispatcher. Пример пошаговой работы программы на системе событий). |
Часовой пояс GMT +4, время: 15:10. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|