2012-04-16 31 views
0

我想建立一個3D安卓遊戲的遊戲框架。我試圖用這個教程做,什麼是android opengl相當於surfaceHolder.lockCanvas()

http://www.javacodegeeks.com/2011/07/android-game-development-game-loop.html

,我能得到一個2D遊戲框架的工作。然後教程繼續使用android的OpenGL功能,但不會在遊戲框架中使用它。

我的問題是,因爲我使用一個單獨的線程來調用我的更新和繪製方法,是他們相當於我正在做的與Android OpenGl GL10類的畫布?

try 
{ 
    canvas = this.surfaceHolder.lockCanvas(); 
    synchronized (surfaceHolder) 
    { 
     //Update and draw code here 
    } 
} 
finally 
{ 
    surfaceHolder.unlockCanvasAndPost(canvas); 
} 

雖然這應該是用OpenGL GL10類我的計劃的唯一對象,我想確保我擁有控制權的GL10相機,如果這是最好的方式做到這一點?

回答

1

我不確定我是否瞭解Canvas API和表面固定器的東西。然而,在Android上使用OpenGL,GLSurfaceView似乎是你想要的(code)。它來自SurfaceView並使用EGL進行低級表面管理。它已經啓動了第二個渲染線程,調用了Renderer方法。你可能想看看threading model of Replica Island;克里斯使用第三個線程來更新遊戲世界。

相關問題