2010-10-22 101 views
7

我想在Android上使用OpenGL編寫一些遊戲的骨架。我想知道,我應該在哪裏放置我的主遊戲循環代碼?在Android遊戲中放置主遊戲循環的位置

到目前爲止,我的最佳人選是Renderer.onDrawFrame(...)方法,這似乎是每幀被調用,所以代碼如下所示:

void onDrawFrame(GL10 gl) 
{ 
    preLoopActions(); 

    m_gameScene->onUpdate(); 
    m_gameScene->onRender(gl); 

    postLoopActions(); 
} 

有沒有更好的方法嗎?我不喜歡這個,因爲1)我必須在android中期望我渲染的地方混合更新和渲染,2)這個方法似乎是從單獨的「渲染線程」調用的,這會增加遊戲的複雜性。

回答

1

你有沒有考慮過像AndEngine這樣的框架。它有一個叫做GameActivity的東西,它使生活變得非常簡單。這些例子很容易理解。

2

分開數學和繪圖邏輯。你想要的是創建一個線程,該線程在該循環中運行數學()部分,然後調用render()部分,當你有工作時有一些技術來控制循環的時間。