Очень часто бывает надо вместе с событием передать какие-либо данные. Однако, стандартный Event этого сделать не позволяет.
Но можно расширить Event своим классом, в который добавить свойство, для хранения данных:
Теперь вместе с событием можно передавать любые данные, которые получатель сможет легко прочитать:
Но можно расширить Event своим классом, в который добавить свойство, для хранения данных:
package
{
import flash.events.Event;
public class DataEvent extends Event
{
private var _data:Object;
public function DataEvent(type:String, data:Object = null, bubbles:Boolean = false, cancelable:Boolean = false)
{
super(type, bubbles, cancelable);
_data = data;
}
public function get data():Object
{
return _data;
}
}
}
Теперь вместе с событием можно передавать любые данные, которые получатель сможет легко прочитать:
var sp:Sprite = new Sprite();
sp.addEventListener("customEvent", eventHandler);
sp.dispatchEvent(new DataEvent("customEvent", "данные");
function eventHandler(e:DataEvent)
{
trace(e.data);
}