getDefinitionByNameについてのメモとサンプル
Stringでクラス名を指定できるメソッド・getDefinitionByName。
ボタンの名前と呼ばれる対象のオブジェクトを紐付けて生成したいなーという時に使ってみたので、それを改めてサンプルにまとめてみました。該当コードの抜粋は以下。
public function callCustomClass():void { var myName:String = this.name; var className:String = "sampleProject.display." + myName; var customClass:Class = getDefinitionByName( className ) as Class; var customClassInstance:MovieClip = new customClass(); customClassInstance.x = 195; customClassInstance.y = 25; this.parent.addChild( customClassInstance ); }
ボタンのインスタンス名と同じクラスを生成してステージに配置します。
getDefinitionByNameはFlash系の他のブログでもよく取り上げられていますが、実際にどうリンケージして使うかというソースはあまり見当たらなかったので、サンプルプロジェクトごと置いておきます。何かの参考にでもなれば。