gpt4 book ai didi

android - 在 OpenGL ES 中停止和恢复游戏循环很热吗?

转载 作者:行者123 更新时间:2023-11-30 02:50:03 25 4
gpt4 key购买 nike

我正在开发一款小型安卓游戏。它使用游戏 Activity 启动主循环,这会打开一个 glSurfaceView。表面 View 是使用渲染器设置的。游戏按预期运行。

gameActivity 的 onCreate 方法:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gameView = new GameView(this);
setContentView(gameView);
}

游戏 View 类:

public class GameView extends GLSurfaceView {
private GameRenderer renderer;

public GameView(Context context) {
super(context);

renderer = new GameRenderer();

this.setRenderer(renderer);


}

我不确定如何正确结束游戏。在适当满足结束游戏的条件后,我尝试从渲染器内部启动一个新的结束屏幕 Activity ,这导致应用程序崩溃。如何正确关闭此游戏循环?

最佳答案

你可以通过改变渲染模式来暂停渲染:

GLSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);

如果使用 RENDERMODE_WHEN_DIRTY,表面只会在调用 requestRender() 时重绘自身

当你想恢复渲染时,调用:

GLSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);

或者,您可以只提供一个boolean-flag,当设置为 false 时将阻止进一步渲染。

关于android - 在 OpenGL ES 中停止和恢复游戏循环很热吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24364482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com