Как я могу создать несколько типов и параметров для пользовательских событий?
У меня есть собственный класс событий, и я хочу вставить несколько параметров (например, собственные события: MOUSE_UP, CLICK, ROLL_OVER). Вот мой код до сих пор:
package
{
import flash.events.Event;
public class MenuGeneratorEvent extends Event
{
public static const PASS_PARAMS:String = "passParams";
public var param1:String = new String();
public function MenuGeneratorEvent(type:String, str:*, bubbles:Boolean = false,
cancelable:Boolean = false):void
{
this.param1 = str;
super(type, bubbles, cancelable);
}
override public function clone():Event
{
return new MenuGeneratorEvent(type, param1, bubbles, cancelable);
}
}
}
Я использую Flash Professional CC 2015. Возможно ли это сделать?
1 ответ
Решение
Просто добавьте их в качестве аргументов конструкции и сделайте их видимыми снаружи, как вы это делали с param1
, Если вам нужно передать много параметров в качестве аргументов конструктора, вы всегда можете обернуть их внутри другого объекта. Если вы хотите иметь доступ к ним напрямую из объекта события, просто создайте для них средства доступа:
public class MenuGeneratorEvent extends Event
{
public static const PASS_PARAMS:String = "passParams";
private var params:Object;
public function MenuGeneratorEvent(type:String, params:Object, bubbles:Boolean = false,
cancelable:Boolean = false):void
{
this.params = params;
super(type, bubbles, cancelable);
}
override public function clone():Event
{
return new MenuGeneratorEvent(type, params, bubbles, cancelable);
}
public function get param1():String{return params.param1;}
public function get param2():Number{return params.param2;}
public function get param3():Object{return params.param3;}
}