표시 객체에 대한 이벤트 처리

Flash Player 9 이상, Adobe AIR 1.0 이상

DisplayObject 클래스는 EventDispatcher 클래스에서 상속됩니다. 즉, 모든 표시 객체는 이벤트 모델에 모두 사용할 수 있습니다( 이벤트 처리 참조). 모든 표시 객체는 EventDispatcher 클래스에서 상속되는 addEventListener() 메서드를 사용하여 특정 이벤트를 수신할 수 있습니다. 이때 수신 객체가 해당 이벤트에 대한 이벤트 흐름의 일부여야 합니다.

Flash Player 또는 AIR에서 이벤트 객체를 전달할 경우 해당 이벤트 객체는 스테이지부터 이벤트가 발생한 표시 객체까지를 왕복합니다. 예를 들어, child1 이라는 표시 객체를 클릭하면 Flash Player는 스테이지에서 표시 목록 계층 아래의 child1 표시 객체까지 이벤트 객체를 전달합니다.

다음 다이어그램에 표시된 것처럼 이벤트 흐름은 개념적으로 3단계로 구분됩니다.

<이벤트 흐름의 세 단계>

자세한 내용은 이벤트 처리 를 참조하십시오.

표시 객체 이벤트 작업을 할 경우 주의해야 할 중요 사항은, 표시 객체를 표시 목록에서 제거할 때 표시 객체가 메모리에서 자동으로 제거(가비지 컬렉션)되는지 여부에 대해 이벤트 리스너가 미치는 영향입니다. 표시 객체에 이벤트에 대한 리스너로 구독되는 객체가 있는 경우 해당 표시 객체는 표시 목록에서 제거되더라도 해당 리스너 객체에 대한 참조가 여전히 존재하기 때문에 메모리에서 제거되지 않습니다. 자세한 내용은 이벤트 리스너 관리 를 참조하십시오.