_AS3 getDefinitionByName()

自分自身のメモとしてgetDefinitionByName()の使い方を書きます。
参考:F-site | [AS3] クラスを文字列で参照したい

シンボルに設定した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でつぶやく (投稿画面に飛びます)

Comment Form
 

Trackback:1

TrackBack URL for this entry
http://paphead.com/mt/mt-tb.cgi/6
Listed below are links to weblogs that reference
_AS3 getDefinitionByName()from PAPHEAD

「ActionScript3.0を駆使したプロフェッショナルテクニック」を謳っていながら肝心のサンプルにActionScript2.0が混在しているという... 続きを読む


ayuzak

ディレクターをしています。
このブログは、自分自身のメモとして運営しています。

もっと見る

twitter

@paphead
カテゴリ

なかのひと