0

3D Android ゲームのゲーム フレームワークを構築しようとしています。私はこのチュートリアルを使用してそれをやろうとしていましたが、

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

2D ゲーム フレームワークを動作させることができました。このチュートリアルでは、次に Android の OpenGL 機能を使用しますが、ゲーム フレームワークでは使用しません。

私の質問は、別のスレッドを使用して update メソッドと draw メソッドを呼び出しているため、android OpenGl GL10 クラスを使用してキャンバスに対して行っていることと同等ですか?

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

これは私のプログラムで opengl GL10 クラスを使用する唯一のオブジェクトである必要がありますが、GL10 カメラを確実に制御したいのですが、これが最善の方法でしょうか?

4

1 に答える 1

1

CanvasAPIとサーフェスホルダーの内容を理解しているかどうかはわかりません。ただし、AndroidでOpenGLを使用するGLSurfaceViewと、が必要なように見えます(コード)。これはSurfaceViewから派生しEGL、低レベルのサーフェス管理に使用されます。メソッドを呼び出して、レンダリング用の2番目のスレッドをすでに開始していRendererます。レプリカアイランドのスレッドモデルを調べてみてください。クリスは、ゲームの世界を更新するために3番目のスレッドを使用します。

于 2012-04-16T12:22:23.837 に答える