Цитата:
Сообщение от Stitch512
Цитата:
|
Расскажите, как Вы ловите клик по объекту, не подписываясь на MouseEvent?
|
Я и не говорил что не подписываться. Кнопку и все необходимые данные помещаем в класс-контейнер, в нем подписываемся на MouseEvent по нему шлем события к примеру ButtonClick с нужными данными, по сути MouseEvent получается инкапсулировано и извне видно только событие данного контейнера. Если потом внутренняя логика поменяется - вместо кнопки какая то анимация, либо пользовательская кнопка у которой другая логика работы, или что угодно, то это эти изменения будут только внутрение.
|
Какой-то странный подход. А чем MouseEvent то не угодил? Зачем дублировать события? Есть замечательный принцип: "
Не следует множить сущее без необходимости".

Код AS3:
class MyClass extends Sprite{
public var param:int = 1;
public function MyClass(){
...
}
}
....
var btn:MyClass = new MyClass();
btn.addEVentListener(MouseEvent.CLICK, _onClick);
...
private function _onClick(e:MouseEvent):void{
trace((e.currentTarget as MyClass).param);
}