2012-04-16 7 views
0

私は3Dアンドロイドゲーム用のゲームフレームワークを構築しようとしています。私は、このチュートリアルを使用して、それをやろうとしsurfaceHolder.lockCanvas()に相当するandroid openglは何ですか

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

と私は、2Dゲームフレームワークの作業を取得することができました。このチュートリアルでは、アンドロイドのOpenGL機能を使用する方法を説明しますが、ゲームフレームワークでは使用しません。

私は別のスレッドを使用して私の更新と描画のメソッドを呼び出すので、私はアンドロイド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を使用します。すでにレンダリングのために2番目のスレッドを開始し、メソッドをRendererに呼び出します。 threading model of Replica Islandを調べることができます。 Chrisはゲームの世界を更新するために第3のスレッドを使用します。

関連する問題