OpenGL ES 2.0 ゲームでゲーム ロジックの基礎を築こうとしていますが、レンダリングが終了したときだけイベント (主に入力イベント) を処理することに非常に関心があります。私は次のことを望んでいません:
- 描き始め、描かれるものもある
- イベントによって描画が中断され、ロジックが更新されます
- 一貫性のないロジックで描画が続行されます
はいまたはいいえという明確な答えはまだ見つかりません。この種のコードの場合:
if(event.getAction() == MotionEvent.ACTION_DOWN){
mGLSurfaceView.queueEvent(new Runnable(){
@Override
public void run(){
triangleRenderer.handleTouchPress(normalizedX, normalizedY);
}
});
}
タッチイベントの描画と処理が常にシーケンシャルであり、インターリーブされないことを保証するには十分ではありません。その場合、何かを実装して保存し、「イベント」を処理する必要があると思います。