Containment Events : Sprite « Development « Flash / Flex / ActionScript






Containment Events

 

package {
  import flash.display.*;
  import flash.events.*;

  public class Main extends Sprite {
    public function Main() {
      var container:Sprite = new Sprite(  );
      var child:Sprite = new Sprite(  );
      var grandchild:Sprite = new Sprite(  );

      container.addEventListener(Event.ADDED, addedListener);
      container.addEventListener(Event.REMOVED, removedListener);

      container.addChild(child);  
      child.addChild(grandchild);  
      stage.addChild(container);
      child.removeChild(grandchild);
      stage.removeChild(container);
    }

    private function addedListener (e:Event):void {
      if (e.eventPhase != EventPhase.AT_TARGET) {
        trace("container has a new descendant: " + e.target);
      } else {
        trace("container was added to a new parent: "
              + DisplayObject(e.target).parent);
      }
    }

    private function removedListener (e:Event):void {
      if (e.eventPhase != EventPhase.AT_TARGET) {
        trace("a descendant was removed from container: " + e.target);
      } else {
        trace("container was removed from its parent: "
              + DisplayObject(e.target).parent);
      }
    }
  }
}

        








Related examples in the same category

1.Add TextField to Sprite
2.Adding an Item to the Display List
3.addChild( ) method doesn't guarantee that a display object is added to the display list.
4.Removing an Item from the Display List
5.Moving Objects Forward and Backward
6.Change child index
7.Depth test
8.Manipulating Objects in Containers Collectively
9.Applies a black color transformation to group, causing all children to be colored solid black
10.Using the buttonMode of the Sprite
11.Using the hitArea
12.Using hitTestPoint
13.Swapping the Depths of Children
14.Reparenting Display Objects
15.Advanced Masks
16.Masks
17.Building an FLV Playback Application