为什么onSurfaceCreated没有在这段代码中运行?

时间:2013-04-05 03:31:25

标签: android opengl-es

我在我的活动中以这种方式创建我的游戏元素:

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  mGame = new Game(this);
  mGame.bootstrap();
  setContentView(CommonObject.sCommonParams.touch);
  mGame.loadTextures();
}

然后在我的bootstrap中我以这种方式创建我的GLsurfaceView :(当我创建mGame时,我调用了activityActivity)

CommonObject.sCommonParams.openGLView = new GLSurfaceView(callingActivity);
CommonObject.sCommonParams.openGLView.setRenderer(new GameRenderer());
CommonObject.sCommonParams.openGLView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);

是不是因为我将GLSurfaceView传递给它不起作用的静态对象?

1 个答案:

答案 0 :(得分:1)

原来我必须

setContentView(CommonObject.sCommonParams.openGLView);

用于onSurfaceCreated运行。这是令人伤心的,因为我试图避免这样做。