我正在开发一款小型安卓游戏。它使用游戏Activity来启动主循环,从而打开glSurfaceView。使用渲染器设置surfaceview。游戏按预期运行。
来自gameActivity的onCreate方法:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gameView = new GameView(this);
setContentView(gameView);
}
GameView类:
public class GameView extends GLSurfaceView {
private GameRenderer renderer;
public GameView(Context context) {
super(context);
renderer = new GameRenderer();
this.setRenderer(renderer);
}
我不确定如何正确结束游戏。一旦正确满足结束游戏的条件,我尝试从渲染器内部开始新的结束屏幕活动,这会导致应用程序崩溃。如何正确关闭此游戏循环?
答案 0 :(得分:1)
您可以通过将渲染模式更改为此来暂停渲染:
GLSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
如果使用RENDERMODE_WHEN_DIRTY,表面只会在调用requestRender()
时自行重绘
如果您想恢复渲染,请致电:
GLSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);
或者,您可以提供布尔标志,以防止在设置为false时进一步呈现。