MovieClipのparentプロパティについて

@engineer_tamago MovieClipのparentプロパティについては、だいたいこんな感じです。

@engineer_tamago MovieClipのparentプロパティについては、だいたいこんな感じです。

  • タグ:
  • タグはありません
import flash.display.MovieClip;

/**
 * 変数初期化
 */

//MovieClipのインスタンスを作成してhogeに代入
var hoge = new MovieClip();
trace(hoge.name); //instance1

//MovieClipのインスタンスを作成してfugeに代入
var fuge = new MovieClip();
trace(fuge.name); //instance2

//MovieClipのインスタンスを作成してcanvasに代入
var canvas = new MovieClip();
trace(canvas.name); //instance3

//MovieClipのインスタンスを作成してboyに代入
var boy = new MovieClip();
trace(boy.name); //instance4


/**
 * addChild
 */
 
//hogeにfugeを追加
hoge.addChild(fuge);

//fugeにcanvasを追加
fuge.addChild(canvas);

//canvasにboyを追加
canvas.addChild(boy);

trace(fuge.parent == hoge); //true
trace(canvas.parent == fuge); //true
trace(boy.parent == canvas); //true
trace(boy.parent.parent.parent == hoge); //true 

trace();

/**
 * hogeのスコープが違う場合
 */

//関数fooを定義
function foo() {
	
	trace("↓ここから関数foo内の処理");
	
	//関数の中でhogeを宣言(このhogeは関数の中でしかアクセスできない)
	var hoge = new MovieClip();
	trace("hogeの名前は : " + hoge.name); //instance6
	
	trace("fuge.parent == hoge");
	trace(fuge.parent == hoge);//false
		
	trace("↑ここまで関数foo内の処理");
}

//fooを実行
foo();

trace("hogeの名前は : " + hoge.name); //instance1
trace("fuge.parent == hoge");
trace(fuge.parent == hoge);//true
trace();


/**
 * hogeに別のインスタンスを代入した場合
 */

//MovieClipのインスタンスを作成してhogeに代入
hoge = new MovieClip();
trace("hogeの名前は : " + hoge.name); //instance5

trace("fuge.parent == hoge");
trace(fuge.parent == hoge);//false