Ad

Starlingで画像などを扱うとき、チュートリアルなどではembedでswfにリソースを埋め込んでしまっている場合が多いですが、実際のゲーム開発ではAssetManager編集を使った方が良いです。

理由は

  • embedではswfが読み込まれるまで処理が走らない。ローダーをつけるには別にロード用swfが必要となる
  • textureの初期化には負荷がかかるので、読み込み後に一括で初期化するとモバイルなどでは最悪アプリが落ちる
  • AssetManager編集の方がtextureの管理が容易

です。

使い方はまず読み込みが

var assets:AssetManager = new AssetManager();
const RESOURCE_DIR:String = "resource/";
assets.enqueue(RESOURCE_DIR + "uiTexture.png");
assets.enqueue(RESOURCE_DIR + "uiTexture.xml");
			
assets.loadQueue(function(ratio:Number):void
{
	trace(int(ratio * 100) + "%");
	if (ratio == 1.0){
		trace("load end!");
	}
});

loadQueueは読み込み過程を表示する関数です。AssetManager編集は読み込んだTextuerを自動で負荷を分散しながら初期化してくれます。

もし、多解像度対応でtextureが拡大・縮小している場合は、

var assets:AssetManager = new AssetManager(2);

のようにスケール引数に入れます。

個々のTextureを取得するには、そのTextureがどのTextureAtlas編集にあるか意識する事無く、

assets.getTexture("button.png")

として取得できます。

TextureAtlas編集を取得することも出来ます。

assets.getTextureAtlas("uiTexture")

ですが、なるべく上記getTextureを使うのをお勧めします。なぜなら、実際のゲーム開発ではtextureAtlasが複数になることが多く、また、その中の画像を入れ替えることも多いので、getTextureAtlas編集ではそのたびにソースコードの変更が必要になるからです。 getTextureであれば、どの画像がどのtextureAtlasにあるか知る必要がないのでtextureAtlasの変更にも対応しやすいです。

AssetManager編集は他にもxmlやサウンドにも対応しています。しかし、ゲーム設定が簡単に書き換えられたりできるようになるので、設定ファイルはembedの方が良いかもしれません。サウンドなども著作権の関係でそのままサイトに置くと問題があるかも知れません。モバイルなら問題ないですが。

AssetManager編集はembedしたリソースにも対応しています。 Airなら問題ないですが、上記に加えてWebだと小さな読み込みファイルが多いとサーバーへのリクエストが多くなり、同じ容量でもサーバー負荷は大きくなります。容量が小さければembedしてもローディング画面にも影響が無いので、負荷増大を防ぐためにXMLファイルや小さな効果音ファイルはembedにしたくなる場合があります。

そんなときには、embed専用のクラスを作り、それをAssetManager編集に読み込ませる事が出来ます。

public class AssetsEmbed 
{
	[Embed(source="../../resource/setting.xml", mimeType="application/octet-stream")]
	public static const setting:Class; 
		
	[Embed(source="../../resource/setting2.xml", mimeType="application/octet-stream")]
	public static const setting2:Class; 
}

このとき、ファイル名とクラス名を同一にする必要がありますが、テクスチャとビットマップフォントのxmlについてはファイル内部の名前が使われるのでどんなクラス名でも良いようです。

読み込むときはクラスを指定します。

assets.enqueue(AssetsEmbed);

これにより、開発中は設定ファイルを外部ファイルにしておいて、設定を変えるだけの時は時間のかかるパブリッシュをしないですませ、実際にWebにあげるときは1つにまとめる、といった柔軟な対応も可能となります。

参考: http://wiki.starling-framework.org/manual/asset_management


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 3538, today: 1, yesterday: 1
初版日時: 2015-05-22 (金) 05:55:14
最終更新: 2015-09-23 (水) 17:41:12 (JST) (3099d) by njf
MenuBar
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失

Portuguese | English | German | Greek | Japanese | Korean | Russian | T-Chinese top
NJF