Newer
Older
CactusClient / src / framework / RWT / RWTSprites.java
package framework.RWT;

import javax.microedition.khronos.opengles.GL10;
import java.util.ArrayList;

/**
 * スプライト管理クラス
 *
 * @author s.iwatani
 */
public class RWTSprites {
    private ArrayList<RWTSprite> sprites = new ArrayList<RWTSprite>();

    public RWTSprites() {}

    /**
     * スプライトの追加
     *
     * @author s,iwatani
     * @param sprite 追加したいRWTSprite
     */
    public void addSprite(RWTSprite sprite) {
        sprites.add(sprite);
    }

    /**
     * スプライトの削除
     *
     * @author s.iwatani
     * @param sprite 削除したいRWTSprite
     */
    public void removeSprite(RWTSprite sprite) {
        sprites.remove(sprite);
    }

    /**
     * 登録されたスプライトの描画
     *
     * @param gl GL10
     */
    public void draw(GL10 gl) {
        // なんかやってる
        gl.glDisable(GL10.GL_DEPTH_TEST);
        gl.glDisable(GL10.GL_DITHER);
        gl.glEnable(GL10.GL_ALPHA_TEST);
        gl.glEnable(GL10.GL_TEXTURE_2D);

        //テクスチャ0番をアクティブにする(よくわからん)
        gl.glActiveTexture(GL10.GL_TEXTURE0);

        for (RWTSprite sprite : sprites){
            sprite.draw(gl);
        }

        gl.glEnable(GL10.GL_DEPTH_TEST);
        gl.glEnable(GL10.GL_DITHER);
    }
}