Event

설명

Event 클래스를 기본 클래스로 하여 만들어진 Event 객체는 이벤트 발생 시 매개 변수로 이벤트 리스너에 전달됩니다. 이벤트 리스너 함수에서 메서드를 사용하면 이벤트 객체의 비헤이비어를 수정할 수 있습니다. 예를 들어, stopPropagation() 또는 stopImmediatePropagation() 메서드를 호출하여 현재 이벤트 리스너를 이벤트를 처리할 마지막 리스너로 설정할 수 있습니다.

구문

new flwebgl.events.Event(type, bubbles)

매개 변수

이름 유형 설명
type
문자열
이벤트의 유형입니다
bubbles
boolean
이벤트 흐름의 버블 스테이지에 Event 객체가 관련되어 있는지를 확인합니다. 기본값은 false
입니다

정적 속성

이름 유형 설명
flwebgl.events.Event.ENTER_FRAME 문자열 (타임라인 애니메이션이 처리되기 전에) MovieClip이 프레임에 들어올 때마다 전달됩니다.
flwebgl.events.Event.ADDED
문자열
표시 요소가 자식으로 추가되면 전달됩니다.
flwebgl.events.Event.FRAME_CONSTRUCTED 문자열 현재 프레임이 구성된 후 전달됩니다(해당 프레임 스크립트가 처리되기 전).
flwebgl.events.Event.EXIT_FRAME 문자열 (타임라인 애니메이션이 처리된 후에) MovieClip이 프레임에 있을 때마다 전달됩니다.
flwebgl.events.Event.REMOVED
문자열
표시 요소가 상위 요소에서 제거되기 전에 전달됩니다.

 

 

메서드

getBubbles()

설명

    이 메서드는 이벤트의 버블링 여부를 나타냅니다.

반환값

  • 유형 - boolean

getCurrentTarget()

설명

   이 메서드는 이벤트 리스너를 통해 Event 객체를 현재 처리 중인 객체를 반환합니다.

반환값

  • 유형 - flwebgl.events.EventDispatcher

예제

이 조각은 스테이지 및 스테이지의 가장 자식(mc)에 이벤트 리스너를 추가합니다. 자식이 'mc'에 추가되면 이벤트 리스너(handlerFn2)가 실행됩니다. ADDED 이벤트는 버블링되므로 'mc'의 모든 리스너가 실행된 이후 스테이지의 이벤트 리스너(handlerFn1)에 대한 계층 구조로 전송됩니다.

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()

설명

    이 메서드는 이벤트 대상을 반환합니다.

반환값

  • 유형 - flwebgl.events.EventDispatcher

예제

자세한 내용은 getCurrentTarget()에 대한 예제를 참조하십시오.

getType()

설명

    이 메서드는 이벤트 유형을 나타냅니다.

반환값

  • 유형 - String

stopImmediatePropagation()

설명

    이 메서드는 이벤트 흐름의 현재 노드 및 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다.

예제

이 예제에서는 ADDED 이벤트의 두 리스너가 스테이지의 가장 자식(mc)에 추가되었습니다. 자식이 'mc'에 추가되면 이 두 리스너가 실행됩니다. 단, 첫 번째 이벤트 리스너 내에서 stopImmediatePropagation()이 호출되며 'mc'의 다른 리스너는 이벤트(예: handlerFn2) 수신을 하지 못하게 됩니다. 뿐만 아니라 스테이지의 계층 구조로 이벤트가 버블링되는 것을 막습니다.

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()

설명

이 메서드는 이벤트 흐름에서 현재 노드의 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다.

예제

이 예제에서는 ADDED 이벤트의 리스너가 스테이지의 가장 자식(mc)에 추가되었습니다. 자식이 'mc'에 추가되면 이 리스너가 실행됩니다. 이 이벤트 리스너에서는 계층 구조에서 이벤트가 버블링되는 것을 막습니다.

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 로고

내 계정 로그인