Очень часто бывает надо вместе с событием передать какие-либо данные. Однако, стандартный 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); }