flash on 2009-6-30

by takawo
検証: http://feb19.jp/blog/archives/000143.php
あとで書きます。
"まずbaseというMovieClipがあって、
add_btn、remove_btn、baseRemove_btnが
ステージに置いてあるSWFのコード。
remove_btnやbaseRemove_btnの挙動を探ってみてください。"
♥0 | Line 41 | Modified 2009-06-30 22:44:53 | MIT License
play

ActionScript3 source code

/**
 * Copyright takawo ( http://wonderfl.net/user/takawo )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/udrj
 */

//検証: http://feb19.jp/blog/archives/000143.php
//あとで書きます。

//"まずbaseというMovieClipがあって、
//add_btn、remove_btn、baseRemove_btnが
//ステージに置いてあるSWFのコード。
//remove_btnやbaseRemove_btnの挙動を探ってみてください。"

package {
    import flash.display.Sprite;
    import flash.events.Event;
    
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            
        }
    }
}
var s:Sprite = new Sprite();
s.name = "sprite";
base.root.addEventListener(Event.REMOVED, onRemovedHandler);
base.addEventListener(Event.REMOVED, onRemovedHandler);
s.addEventListener(Event.REMOVED, onRemovedHandler);
//--
add_btn.buttonMode = true;
remove_btn.buttonMode = true;
baseRemove_btn.buttonMode = true;
add_btn.addEventListener(MouseEvent.CLICK, onClickHandler);
remove_btn.addEventListener(MouseEvent.CLICK, onClickHandler);
baseRemove_btn.addEventListener(MouseEvent.CLICK, onClickHandler);
//--
function onRemovedHandler(e:Event):void {
	trace("target: " + e.target.name);
	trace("currentTarget: " + e.currentTarget.name);
	trace("eventPhase: " + e.eventPhase);
	trace("type: " + e.type);
	trace("---------");
	if(e.eventPhase == 2 && e.target.name == "base") {
		trace("base removed!")
	}
}
function onClickHandler(e:MouseEvent):void {
	switch(e.currentTarget) {
		case add_btn:
			base.addChild(s);
			break;
		case remove_btn:
			base.removeChild(s);
			break;
		case baseRemove_btn:
			removeChild(base);
	}
}