サイトのトップへ戻る

AndEngineドキュメント 日本語訳

ゲームリソースを読み込む:

この記事では、最も一般的なリソースの読み込みに関する内容を説明します:
  • Graphics
  • Fonts
  • Sounds


1. 重要な注意事項:
  • GLES2 では、texture のサイズを2の冪乗(2,4,8,16,32,...)にする必要はありません。独自のサイズを自由に設定でき、貴重なメモリの負荷を節約できます。
  • 多くの"ローエンド" 端末は大きいtexture サイズをサポートしていないので、 1024ピクセル x 1024ピクセル以上のtextureサイズを作成することを推奨されません。 この問題を簡単に回避するために、texture のサイズは1024ピクセル以下を維持するようにしてください。
  • ゲームで音声が必要な場合は、アプリサイズを減らすために.oggファイル形式の使用を検討してください。


2. リソースを読み込む:
リソースを読み込むために、やらなければいけないことは、 onCreateResources() メソッド内にリソース読み込みのコードを記述することです。 後からでも読みやすくかつ編集しやすくするため、読み込みを3つの新しいメソッドに分割しています:
@Override
public void onCreateResources(OnCreateResourcesCallback pOnCreateResourcesCallback) throws IOException
{
    loadGraphics();
    loadFonts();
    loadSounds();
    pOnCreateResourcesCallback.onCreateResourcesFinished();
}

private void loadGraphics()
{
    
}

private void loadFonts()
{
    
}

private void loadSounds()
{
    
}


3. Graphicsを読み込む:
この例では、新しい textureとtexture regionを作成し、assets/gfx/ フォルダからimage.pngという名前の画像ファイルを読み込んでいます。
private BitmapTextureAtlas yourTexture;
private ITextureRegion yourTextureRegion;

private void loadGraphics()
{
    BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
    yourTexture = new BitmapTextureAtlas(getTextureManager(), 256, 256, TextureOptions.DEFAULT);
    yourTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(yourTexture, this, "image.png", 0, 0);
    yourTexture.load();    
}
256x256 (ピクセル単位)のサイズのtexture を作成しています。 例えばtexture が必要なくなった場合など、好きな時にtextures の読み込みや読み込み解除をすることができます。
  • yourTexture.load();
  • yourTexture.unload();

以下のような状況を考えてみましょう。Sceneが二つあり、各Sceneは独自のテクスチャを使用しています。 Sceneを切り替える際に、一方のテクスチャの読み込みを解除してもう一方のテクスチャを読み込みます。この際には既に作成したものと同じテクスチャを読み込むことができます (テクスチャ領域の初期化を最初から行う必要はありません)。結論:使用していないテクスチャの読み込みを解除することで、簡単にメモリ使用量を減らすことができます!



4. Fontsを読み込む:
この例では、assets/font/ file から font.ttfと呼ばれるフォントを読み込んで新しいfontを作成します。 適切なtexture サイズを使用することを常に忘れないでください。
private Font yourFont;

public void loadFonts()
{
    FontFactory.setAssetBasePath("font/");
    final ITexture fontTexture = new BitmapTextureAtlas(activity.getTextureManager(), 256, 256, TextureOptions.BILINEAR_PREMULTIPLYALPHA);

    yourFont = FontFactory.createFromAsset(getFontManager(), fontTexture, getAssets(), "font.ttf", 40, true, Color.BLACK);
    yourFont.load();
}


5. Soundsを読み込む:
この例では、assets/mfx/にあるsound.oggという名前のファイルから新しいSoundを作成して読み込んでいます。
private Sound yourSound;

public void loadSounds()
{
    try 
    {
        yourSound = SoundFactory.createSoundFromAsset(getEngine().getSoundManager(), this, "mfx/sound.ogg");
    } 
    catch (IOException e) 
    {
        e.printStackTrace();
    }
}

andengineの音声再生に関する詳細情報が必要な場合は、この記事を参照してください。