attachMovieメソッドについての覚書です。
MovieClip.attachMovie()
Player
Flash Player 5。シンタックス
my_mc.attachMovie(idName, newName, depth [, initObject])パラメータ
idName ステージ上のムービークリップに割り当てるライブラリ内のムービークリップシンボルのリンケージ識別子。これは、[リンケージプロパティ] ダイアログボックス内の [識別子] フィールドに入力した名前です。newname ムービークリップに割り当てる一意のインスタンス名。
depth SWF ファイルが置かれる深度を指定する整数。
initObject 新しく接続するムービークリップに設定するプロパティを含むオブジェクト。このパラメータは、Flash Player 6 以降でのみサポートされています。このパラメータを使用すると、動的に作成したムービークリップは、クリップのパラメータを受け取ることができます。オブジェクトではない initObject は無視されます。initObject のすべてのプロパティは、新しいインスタンス内にコピーされます。initObject で指定されたプロパティは、コンストラクタ関数で使用できます。このパラメータはオプションです。
戻り値
新しく作成したインスタンスへの参照。
重要だと思う点:initObject のすべてのプロパティは、新しいインスタンス内にコピーされます。
ActionScript
function initObject(){
this._x = 20;
this._y = 20;
this.f = function(){ // — (3)
this._x += 50; // thisは(1)を指す
}
}
var initObject = new initObject();
// initObjectのプロパティ(_x,_y,f())はすべてclipObjectにコピーされる。
// 関数もプロパティなので、fもコピーされる
var clipObject = attachMovie('clip','ins',0,initObject);
clipObject.onPress = function() {
this._y += 50;
this.f();
}
initObject._alpha = 50; // initObjectに対する操作はステージ上のclipObjectへは影響しない
clipObject._alpha = 50; // clipObjectの不透明度が50%へ
// _root["ins"]._alpha=50; でもおなじ
No comments yet.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。