游戏循环GameLoop是游戏程序和一般软件程序在执行时候,有不一样的运行方式而特别设计的一种程序运行流程。
一般的程序大部分是事件驱动的,最直观的感受就是这类软件主界面有很多的按钮或菜单,等待用户的单击或者选择
产生事件,从而执行后续的操作。而游戏中有着不同的运行方式,游戏中就相当于一个游戏世界,这个世界会自己运行,
有自己的运行规则。玩家知识扮演其中的一个角色。游戏的更新是不同于一般软件的更新,游戏的更新包括玩家操作,
AI更新,画面更新,特效更新,物理更新,游戏逻辑更新等等。
GameLoop的简单图示:
简单代码实现:
void main() { //游戏初始化 GameInit(); //游戏主循环 while(isGameover==false) { //玩家控制 UserInput(); //游戏逻辑更新 GameLogicUpdate(); //游戏画面更新 GameRender(); } //释放资源 GameRelease(); }
Unity3D中的GameLoop
附图如下: