且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《C++游戏编程入门(第4版)》——2.11 理解游戏主循环

更新时间:2022-09-15 20:33:24

本节书摘来自异步社区出版社《C++游戏编程入门(第4版)》一书中的第2章,第2.11节,作者:【美】Michael Dawson(道森),更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.11 理解游戏主循环

C++游戏编程入门(第4版)
游戏主循环是游戏中事件流的一般表示方式。事件的核心部分要重复执行,因此称之为循环。尽管不同游戏的主循环的实现不尽相同,但是几乎所有不同种类的游戏的基本结构是一样的。无论是简单的太空射击游戏,还是复杂的角色扮演游戏(Role-Playing Game, RPG),游戏通常由游戏主循环中相同的重复部分组成。游戏主循环如图2.13所示。

《C++游戏编程入门(第4版)》——2.11 理解游戏主循环

图2.13 游戏主循环描述了几乎适用于任何游戏的基本事件流

下面解释游戏主循环的各个部分:

初始化设置。这部分通常用于接受初始化设置或加载游戏资源,如声音、音乐和图形。游戏背景故事和游戏目标可能也会在这里呈现给玩家。
获取玩家输入。这部分用于捕获玩家输入。玩家输入可以来自键盘、鼠标、游戏手柄、轨迹球或其他设备。
更新游戏数据。根据玩家的输入,对游戏世界应用游戏逻辑与规则。譬如,通过物理系统确定与物体相互作用的方式,或者对手AI的计算。
更新显示内容。在大部分游戏中,这一过程对计算机硬件的负担是最重的,因为这个过程经常涉及到图形的绘制。然而,这一过程也可以是简单地显示文本。
检测游戏是否终止。如果游戏没有结束(譬如,玩家的角色还存活,并且玩家没有退出游戏),游戏将跳转回获取用户输入的阶段。如果游戏结束,则进入关闭阶段。
关闭游戏。游戏在这里结束。玩家通常获得一些如得分之类的最终消息。如有必要,程序将释放所有资源,然后退出。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。