テクスチャの管理を楽にしてみる

テクスチャの管理を楽にしてみる




TextureResourceクラスができたのでこれを使って画像を手軽に読み込みましょう!

TextureResourceクラスを使えば簡単にテクスチャをファイルから読み込めます。
今回はこのクラスを使ってみましょう。

まずリソース関連のクラスを追加、作成します。

    //  コンストラクタ
    public  MainActivity()
    {
        super();

            :
            :

        //  追加
        m_AppRes        = null;
        m_TexRes        = null;
    }

    //  作成
    @Override
    public void onCreate( Bundle savedInstanceState )
    {
        super.onCreate( savedInstanceState );

        m_View  = new GLSurfaceView( this );
        m_View.setRenderer( this );

        m_DrawDevice    = new DrawDevice();

        //  追加
        m_AppRes        = new AppResource( this );
        m_TexRes        = new TextureResource( m_AppRes, m_DrawDevice );
        //  ここまで

        setContentView( m_View );
    }



    //  追加
    private AppResource     m_AppRes;
    private TextureResource m_TexRes;

    //  PictureをTextureに変更
    private Texture         m_Image;

あとは読み込み部分を変えれば完了です。

    //  描画フレーム
    @Override
    public void onDrawFrame( GL10 gl )
    {
        //  シーンの更新
        m_DrawDevice.Begin( gl );
        {
            //  テクスチャがなければ読み込む
            //  変更
            if( m_Image == null )
            {
                m_Image = m_TexRes.Load( "test_ene", TEXTURE_TYPE.CHARA );
            }
            //  ここまで

                :
                :

        }
        m_DrawDevice.End();
    }

随分すっきりしました。
これならリソースを渡せば色々なところで使えそうですね。

ただ、このままだとテクスチャが読みこまれません。
TEXTURE_TYPEがキャラになっているので画像をいい感じの場所に持っていく必要があります。
(TEXTURE_TYPEはここ参照)

いい感じの場所

これで前にやったものと同じ表示になります!
次はタッチ入力に挑戦してみましょう。



<前のページ
次のページ>