Beschrijving
De klasse Event is de basisklasse voor het maken van gebeurtenisobjecten, die als parameters worden doorgegeven aan gebeurtenislisteners wanneer een gebeurtenis plaatsvindt. Met de methoden in de gebeurtenislistenerfuncties kunt u het gedrag van het gebeurtenisobject wijzigen. U kunt de huidige gebeurtenislistener instellen als de laatste listener die een gebeurtenis moet verwerken door de volgende methoden aan te roepen: stopPropagation()
of stopImmediatePropagation()
.
Syntaxis
new flwebgl.events.Event(type, bubbles)
Parameters
Naam | Type | Beschrijving |
type | tekenreeks | Het type gebeurtenis |
bubbles | boolean | Bepaalt of het Event-object deelneemt in de bubblingfase van de gebeurtenisstroom. De standaardwaarde is false |
Static-eigenschappen
Naam | Type | Beschrijving |
flwebgl.events.Event.ENTER_FRAME | tekenreeks | Wordt telkens verzonden wanneer een MovieClip een frame binnengaat (voordat de tijdlijnanimatie wordt verwerkt) |
flwebgl.events.Event.ADDED | tekenreeks | Wordt verzonden wanneer een weergave-element wordt toegevoegd als onderliggend object. |
flwebgl.events.Event.FRAME_CONSTRUCTED | tekenreeks | Wordt verzonden nadat het huidige frame is samengesteld (voordat de framescripts worden verwerkt). |
flwebgl.events.Event.EXIT_FRAME | tekenreeks | Wordt telkens verzonden wanneer een MovieClip een frame verlaat (nadat de tijdlijnanimatie wordt verwerkt). |
flwebgl.events.Event.REMOVED | tekenreeks | Wordt verzonden voordat een weergave-element wordt verwijderd van het bovenliggende object. |
Methoden
getBubbles()
Beschrijving
Deze methode geeft aan of de gebeurtenis al dan niet 'bubbling' is.
Retourneert
- Type - boolean
getCurrentTarget()
Beschrijving
Deze methode retourneert het object waarmee het Event-object actief wordt verwerkt met behulp van een gebeurtenislistener.
Retourneert
- Type - flwebgl.events.EventDispatcher
Voorbeeld
Hiermee wordt een gebeurtenislistener toegevoegd aan zowel de stage en het onderliggende object dat het hoogste is geplaatst (mc). Wanneer een onderliggend object wordt toegevoegd aan 'mc', wordt de bijbehorende gebeurtenislistener (handlerFn2) uitgevoerd. Aangezien de gebeurtenis ADDED 'bubbelt', wordt deze in de hiërarchie omhoog gestuurd naar de gebeurtenislisteners van de stage (handlerFn1) nadat alle 'mc'-listeners zijn uitgevoerd.
function handlerFn1(e) { console.log("Handler 1"); var t1 = e.getTarget(); // First child of stage var t2 = e.getCurrentTarget(); // Stage } function handlerFn2(e) { console.log("Handler 2"); var t1 = e.getTarget(); // First child of stage var t2 = e.getCurrentTarget();// First child of stage } var stage = player.getStage(); var mc = player.getChildAt(0); stage.addEventListener(flwebgl.events.Event.ADDED, handlerFn1); mc.addEventListener(flwebgl.events.Event.ADDED, handlerFn2);
getTarget()
Beschrijving
Deze methode retourneert het gebeurtenisdoel.
Retourneert
- Type - flwebgl.events.EventDispatcher
Voorbeeld
Zie het voorbeeld onder getCurrentTarget().
getType()
Beschrijving
Deze methode geeft het gebeurtenistype aan.
Retourneert
- Type - String
stopImmediatePropagation()
Beschrijving
Deze methode voorkomt dat eventuele gebeurtenislisteners in het huidige knooppunt en eventuele aansluitende knooppunten in de gebeurtenisstroom worden verwerkt.
Voorbeeld
In dit voorbeeld worden twee listeners voor de ADDED-gebeurtenis toegevoegd aan het onderliggende object dat het hoogste is geplaatst op de stage (mc). Beide listeners worden uitgevoerd wanneer een onderliggend object wordt toegevoegd aan 'mc'. Vanuit de eerste gebeurtenislistener wordt echter stopImmediatePropagation() aangeroepen. Dit voorkomt dat de andere 'mc'-listeners de gebeurtenis ontvangen (bijvoorbeeld handlerFn2). Bovendien wordt zo voorkomen dat de gebeurtenis omhoog 'bubbelt' in de hiërarchie naar de stage.
function handlerFn1(e) { e.stopImmediatePropagation(); // Stops any other listeners from receiving this event } function handlerFn2(e) { console.log("This will not execute"); } var stage = player.getStage(); var mc = player.getChildAt(0); mc.addEventListener(flwebgl.events.Event.ADDED, handlerFn1); mc.addEventListener(flwebgl.events.Event.ADDED, handlerFn2);
stopPropagation()
Beschrijving
Deze methode voorkomt dat eventuele gebeurtenislisteners in knooppunten aansluitend op het huidige knooppunt in de gebeurtenisstroom worden verwerkt.
Voorbeeld
In dit voorbeeld wordt een listener voor de ADDED-gebeurtenis toegevoegd aan het onderliggende object dat het hoogste is geplaatst op de stage (mc). Deze listener wordt uitgevoerd wanneer een onderliggend object wordt toegevoegd aan 'mc'. In deze gebeurtenislistener wordt voorkomen dat de gebeurtenis omhoog 'bubbelt' in de hiërarchie (bijvoorbeeld naar de stage).
function handlerFn(e) { e.stopPropagation(); // Stops the event from bubbling up the hierarchy } var stage = player.getStage(); var mc = player.getChildAt(0); mc.addEventListener(flwebgl.events.Event.ADDED, handlerFn);
Aanmelden bij je account