Gebeurtenis

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);
Adobe-logo

Aanmelden bij je account