カテゴリー
未分類

ストリングからクラスのインスタンスを作る

以前にBeInteractive!さんがいていたAS2のストリングからクラスのインスタンスを作るではどーなったのか?
ということで、書いておく。
これは前のエントリー。loadBitmapの延長線上にあります。
つまりライブラリにあるに割り当て、BitmapDataとして取得する際に、画像のクラス名を変数として処理しないと正直使えないぜ!ということです。
わかりやすく言うと、ライブラリの中に”photo1″,”photo2″,”photo3″…と画像が存在して、それぞれにクラスが割り当てられていたとして、インスタンスの際にすべてクラス名を定数で書いていたらif分の嵐。10個ぐらいなら耐えれるけど、100個とかあったり、可変したりしたらどーすんだ?と・・。
(まぁでも総数はどっちにしてもスクリプトに記述する必要はあるのだけど)
ということで調べてみました。
AS2のときはものすごい技が必要でしたが、AS3はその辺ツールが用意されていました。
getDefinitionByName ()
使い方は簡単。

こんな感じ。
一応”getDefinitionByName”で戻ってくるのは”パラメータで定したクラスのクラスへの参照”なので、”as Class”でクラスに定義してあげます。(多分これをやらないと、型指定無しで使えないと思う)
最初

とかやったんだけど、しい勢いで怒られた。
asはそんなに万能ではないようです・・・。
うっとおしい。
PS
あ、コードはimport全部してないからbitmapとかは自分でimportしてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です