2012.11.27
addChild()で作成した表示オブジェクトに名前を付ける方法。
AS2.0では作成時に当たり前に付けていましたが、AS3.0では後から付けるようです。
インスタンス名の設定は .nameプロパティで設定できます。
var mc:MovieClip = new MovieClip();
mc.name = "sample";
また、インスタンス名を使って表示オブジェクトにアクセスするには、
getChildByName("インスタンス名") を使用します。
var mc:MovieClip = new MovieClip();
mc.name = "sample";
mc.x = 30;
trace(getChildByName("sample").x); //出力結果:30
参考にしたサイトは以下。
■ActionScript3.0でインスタンス名を調べたり設定する方法 | creator note http://creator.cotapon.org/articles/flash/actionscript3-0/actionscript3-0...
基本的なことなのに結構面倒な手順だなと思いましたが、
そもそもインスタンス名を使ってのやりとりはAS3.0では
あまり利点がないそうです。
AS3.0の入門書を読んでも上記のような手順は紹介されてませんでしたし、
根本的な頭の切り替えが必要そうです!
【おまけ】
配列アクセス演算子を使えば文字列で変数名を付けられます。
インスタンス名の利点がないのは、変数名で同じことができる、ということかも。
var mcName:String = "sample";
this[mcName] = new MovieClip();
this[mcName].x = 30;
trace(this.sample.x); //出力結果:30
AS2.0では作成時に当たり前に付けていましたが、AS3.0では後から付けるようです。
インスタンス名の設定は .nameプロパティで設定できます。
var mc:MovieClip = new MovieClip();
mc.name = "sample";
また、インスタンス名を使って表示オブジェクトにアクセスするには、
getChildByName("インスタンス名") を使用します。
var mc:MovieClip = new MovieClip();
mc.name = "sample";
mc.x = 30;
trace(getChildByName("sample").x); //出力結果:30
参考にしたサイトは以下。
■ActionScript3.0でインスタンス名を調べたり設定する方法 | creator note http://creator.cotapon.org/articles/flash/actionscript3-0/actionscript3-0...
基本的なことなのに結構面倒な手順だなと思いましたが、
そもそもインスタンス名を使ってのやりとりはAS3.0では
あまり利点がないそうです。
AS3.0の入門書を読んでも上記のような手順は紹介されてませんでしたし、
根本的な頭の切り替えが必要そうです!
【おまけ】
配列アクセス演算子を使えば文字列で変数名を付けられます。
インスタンス名の利点がないのは、変数名で同じことができる、ということかも。
var mcName:String = "sample";
this[mcName] = new MovieClip();
this[mcName].x = 30;
trace(this.sample.x); //出力結果:30
as3.0 , Flash