狭く浅く!

メモ代わりに使わせていただきます。

getChildByName

2008-09-21 03:58:17 | ActionScript 3.0
getChildByName(インスタンス名)で、インタンス名のオブジェクトを参照することができます。

(例)
// フレームアクション
// MovieClipシンボルに[クラス]として"Pen"を設定
var my_mc:MovieClip = new Pen();
my_mc.name = "myName"; //インスタンス名を設定
addChild(my_mc); //stageに追加する(表示する)
var target_mc:MovieClip = MovieClip(getChildByName("myName")); // インスタンス名から参照を取得して操作
trace(target_mc.name); // 出力: myName
target_mc.x = 0; //インスタンス名(myName)のプロパティを変更可能


var my_mc:MovieClip・・・MovieClip型のmy_mcを作成

my_mc.name = "myName";・・・my_mcのインスタンス名をmyNameに設定

var target_mc:MovieClip = MovieClip(getChildByName("myName"));
//インスタンス名がmyNameのオブジェクトをとってきて、MovieClip型に変換(myNameがMovieClip型であるため)
//それをMovieClip型のtarget_mcに代入

trace(target_mc.name); //target_mcのインスタンス名を参照

target_mc.x = 0; //target_mcのxを変更 = myNameのxを変更


インスタンス名さえわかれば、(再度)プロパティを触る事が可能です。


*もし、mainCanvas.addChild(my_mc);などのように、stageじゃないところにmy_mcを追加した場合は、
 MovieClip(mainCanvas.getChildByName("myName"));に変わります。

*また、my_mcがMovieClip型でない場合
 例えば、my_mc:TextAreaの場合は以下の変更点があります。
 var target_mc:TextArea = TextArea(getChildByName("myName"));


メソッド getChildByName

プロパティ name