На смотри пример

Код AS3:
package com.mc.events {
import flash.events.Event;
public class PolygonEvent extends Event {
public var delta:Array;
public static const getArray:String = '';
public function PolygonEvent(type:String, delta:Array = null) {
super(type, false, false);
this.delta = delta;
}//end constructor
override public function clone():Event
{
return new PolygonEvent(this.type, this.delta);
}
}
}
А сейчас как используем PolygonEvent

Код AS3:
var someArr:Array = [0,1,2];
dispatchEvent(new PolygonEvent(PolygonEvent.getArray,someArr));
А там где будешь слушать событие , можешь получать массив через event.delta

Код AS3:
addEventlistener(PolygonEvent.getArray,PolygonEventHandler);
private function PolygonEventHandler(e:PolygonEvent):void{
trace(e.delta);
}
Ну там delta для примера массив , тут может быть что угодно
Добавлено через 34 секунды
Аналогично моего PolygonEvent можешь создать свой CustomEvent