ページへ戻る

− Links

 印刷 

StarlingのAssetManagerを使う のバックアップの現在との差分(No.2) :: NJF Wiki

xpwiki:StarlingのAssetManagerを使う のバックアップの現在との差分(No.2)

« Prev[4]  Next »[5]
2: 2015-05-22 (金) 07:12:30 njf[6] ソース[7] バックアップ No.2 を復元して編集[8] 現: 2015-09-24 (木) 01:41:12 njf[6] ソース[9] 編集[10]
Line 13: Line 13:
 assets.enqueue(RESOURCE_DIR + "uiTexture.png");  assets.enqueue(RESOURCE_DIR + "uiTexture.png");
 assets.enqueue(RESOURCE_DIR + "uiTexture.xml");  assets.enqueue(RESOURCE_DIR + "uiTexture.xml");
 +    
 assets.loadQueue(function(ratio:Number):void  assets.loadQueue(function(ratio:Number):void
 {  {
  trace(int(ratio * 100) + "%");   trace(int(ratio * 100) + "%");
  if (ratio == 1.0){   if (ratio == 1.0){
-  loadEnd();+  trace("load end!");
  }   }
 });  });
-AssetManagerは読み込んだTextuerを自動で負荷を分散しながら初期化してくれます。+loadQueueは読み込み過程を表示する関数です。AssetManagerは読み込んだTextuerを自動で負荷を分散しながら初期化してくれます。 
 + 
 +もし、多解像度対応でtextureが拡大・縮小している場合は、 
 + var assets:AssetManager = new AssetManager(2); 
 +のようにスケール引数に入れます。
個々のTextureを取得するには、そのTextureがどのTextureAtlasにあるか意識する事無く、 個々のTextureを取得するには、そのTextureがどのTextureAtlasにあるか意識する事無く、
- assets.getTexture("button.png")+ assets.getTexture("button.png")
として取得できます。 として取得できます。
Line 40: Line 44:
AssetManagerは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 http://wiki.starling-framework.org/manual/asset_management
« Prev[4]  Next »[5]