[AS3] Embedで埋め込んだものを動的に生成したいメモ

2013/08/25

こんにちは。きんくまです。

ASだと画像とか音声とかのデータをどうやってもってくるかはいろいろとやり方があると思います。

1. flashから書き出したswcで静的に埋め込む
2. 起動したあとLoaderで動的に取得する
3. Embedタグで静的に埋め込む

1はFlashの中で位置を調整できるのと、アニメーションしたMovieClipも埋め込めるので便利です。
2はコンテンツがリリース後に更新されるようなときに便利です。
3はFlashを通さないので、位置はプログラム上で組むことになるのですが、画像ソフトから書き出したあとFinderとかでフォルダの中を上書きすればすぐに画像さしかえが反映できるので楽です。

で、今回はEmbedのメモです。

こんなクラスがあったとして、

public class Assets{
	[Embed(source="/images/xxx.png", mimeType="image/png")]	
	public static var MyImg0:Class;
}

外からつかいたいときにMyImg0の部分を動的に変えたいなと思って、どうやるのかなと思ったら

>> In Flex/AS3, how do I get a class definition of an embedded asset with getDefinitionByName

var classDef:Class = Assets["MyImg0"] as Class;

で取得できるよ。とのこと。
MyImg0, MyImg1, MyImg2などのように連番でEmbedしたときにこれで取得できるようになりました。

swcのときみたいにgetDefinitionByNameでやるのかなと思ってたら違ってたので、メモめも。


自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る