游戲循環GameLoop是游戲程序和一般軟件程序在執行時候,有不一樣的運行方式而特別設計的一種程序運行流程。
一般的程序大部分是事件驅動的,最直觀的感受就是這類軟件主界面有很多的按鈕或菜單,等待用戶的單擊或者選擇
產生事件,從而執行后續的操作。而游戲中有着不同的運行方式,游戲中就相當於一個游戲世界,這個世界會自己運行,
有自己的運行規則。玩家知識扮演其中的一個角色。游戲的更新是不同於一般軟件的更新,游戲的更新包括玩家操作,
AI更新,畫面更新,特效更新,物理更新,游戲邏輯更新等等。
GameLoop的簡單圖示:
簡單代碼實現:
void main() { //游戲初始化 GameInit(); //游戲主循環 while(isGameover==false) { //玩家控制 UserInput(); //游戲邏輯更新 GameLogicUpdate(); //游戲畫面更新 GameRender(); } //釋放資源 GameRelease(); }
Unity3D中的GameLoop
附圖如下: