Мне нравится использовать * тип подстановочного знака arg, например:
package {
import flash.events.Event;
public class CustomEvent extends Event
{
public static const ON_CUSTOM_EVENT:String = "onCustomChange";
public var args:*;
public function CustomEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, ...a:*):void
{
super(type, bubbles, cancelable);
arg = a;
}
override public function clone():Event //dont forget your clone override in custom events
{
return new CustomEvent(type, bubbles, cancelable, arg);
}
}
}
Что позволяет передавать несколько аргументов любого типа. Просто убедитесь, что вы вводите тип на конце вызывающего абонента.
public function OnCustomEvent(event:CustomEvent): void {
trace(event.arg[0] as Number);
}
public function OnSliderEventChange(event:SliderEvent)
{
// here, we use the CustomEvents own static const as the event
//and pass the event.value as a final parameter, in one statement.
this.dispatchEvent = new CustomEvent(CustomEvent.ON_CUSTOM_EVENT, false, false, event.value);
}
Надеюсь, что поможет