Rev 73 |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package com.gebauz.pingK.gamestates;
import javax.microedition.khronos.opengles.GL10;
import com.gebauz.framework.util.GLUtil;
import com.gebauz.framework.util.Mesh;
import com.gebauz.framework.util.RenderImmediate;
import com.gebauz.framework.util.RenderTexture;
import com.gebauz.framework.util.Sprite2D;
import com.gebauz.framework.util.Texture;
import com.gebauz.pingK.R;
import com.gebauz.pingK.game.GameConsts;
import com.gebauz.pingK.game.GameLogic;
public class MainGameState
extends BaseGameState
{
Mesh mesh
;
Texture texture
;
float r
;
Sprite2D sprite
;
Sprite2D sprite2
;
GameLogic mGameLogic
;
//RenderTexture mOffscreenTexture;
int w
;
int h
;
public MainGameState
()
{
}
@
Override
public void init
()
{
/*if (!GLUtil.checkFboSupport())
{
throw new RuntimeException("Framebuffer Objects not supported");
}*/
mGameLogic =
new GameLogic
();
mGameLogic.
init();
sprite =
new Sprite2D
();
sprite.
init(R.
drawable.
icon_hourglass,
60,
60,
100,
100);
sprite2 =
new Sprite2D
();
sprite2.
init(R.
drawable.
icon_hourglass,
160,
160,
400,
300);
//mOffscreenTexture = RenderTexture.create(128, 128);
}
@
Override
public void exit
()
{
//mOffscreenTexture = null;
sprite =
null;
mGameLogic.
exit();
mGameLogic =
null;
}
@
Override
public void onSurfaceChanged
(int width,
int height
)
{
w = width
;
h = height
;
GLUtil.
getGL().
glViewport(0,
0, width, height
);
}
@
Override
public void update
(float deltaTime
)
{
r += deltaTime
;
if (r
> 1.0f
)
r = 0.0f
;
mGameLogic.
update(deltaTime
);
}
@
Override
public void render
()
{
GL10 gl = GLUtil.
getGL();
// mOffscreenTexture.activate();
//gl.glViewport(0, 0, 128, 128);
//gl.glClearColor(0.0f, 1.0f, 1.0f, 0.0f);
gl.
glClearColor(0.05f, 0.05f, 0.05f, 0.0f
);
gl.
glClear(GL10.
GL_COLOR_BUFFER_BIT | GL10.
GL_DEPTH_BUFFER_BIT);
gl.
glMatrixMode(GL10.
GL_PROJECTION);
gl.
glLoadIdentity();
gl.
glOrthof(0, GameConsts.
VIRTUAL_SCREEN_WIDTH-1.0f, GameConsts.
VIRTUAL_SCREEN_HEIGHT-1.0f,
0,
0,
1);
mGameLogic.
render();
sprite.
angle = r
*90.0f
;
//sprite.render();
/*RenderImmediate.begin(GL10.GL_TRIANGLES);
{
RenderImmediate.color(1.0f, 1.0f, 1.0f, 1.0f);
RenderImmediate.vertex(0.0f, 0.0f, 0.0f);
RenderImmediate.color(1.0f, 0.0f, 1.0f, 1.0f);
RenderImmediate.vertex(100.0f, 100.0f, 0.0f);
RenderImmediate.color(1.0f, 1.0f, 1.0f, 1.0f);
RenderImmediate.vertex(0.0f, 100.0f, 0.0f);
}
RenderImmediate.end();*/
/* mOffscreenTexture.deactivate();
gl.glViewport(0, 0, w, h);
gl.glClearColor(0.0f, 1.0f, 0.0f, 0.0f);
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
gl.glOrthof(0, 799, 479, 0, 0, 1);
//mGameLogic.render();
sprite2.replaceTexture(mOffscreenTexture);
sprite2.angle = r*20.0f;
sprite2.render();*/
}
@
Override
public boolean doFadeIn
()
{
return true;
}
@
Override
public boolean doFadeOut
()
{
return true;
}
}