_AS3 getDefinitionByName()
- 2009-01-08(木)
- ActionScript,
- Flash

シンボルに設定したHogeというクラスのインスタンスを動的に表示するは、
var myInstance:MovieClip = new Hoge(); // インスタンスの生成 addChild(myInstance); // タイムラインへの表示です。
ここからが本題で、上記のスクリプトをgetDefinitionByName()を使って書くとしたら以下のようになります。
var myClass:Class = Class(getDefinitionByName(Hoge)); var myInstance:MovieClip = new myClass(); addChild(myInstance);さらに、forを使ってインスタンスを動的に作成する事ができます。
import flash.utils.getDefinitionByName;
for (var i:int = 0; i<3; i++) {
var name_str:String = ;
var myClass:Class = Class(getDefinitionByName("Hoge" + (i + 1)));
var myInstance:MovieClip = new myClass();
addChild(myInstance);
// インスタンスの座標などを設定する処理
//myInstance.x = 50;
}
※Hoge1、Hoge2、Hoge3と3つのMovieClipシンボルにクラス名を設定したとします。使い方をマスターすれば、便利になりそうです。
このエントリーをTwitterでつぶやく (投稿画面に飛びます)
- Newer: _Progression メモその1
- Older: _Progressionを勉強中





