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

2.11 理解游戏主循环

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

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

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

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

时间: 2024-11-20 14:45:59

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

游戏编程入门莫里森那本书类似的小游戏

问题描述 游戏编程入门莫里森那本书类似的小游戏 有没有大神可以帮忙做一个莫里森编写的游戏编程入门那本书中的用到GameEngine的c++小游戏 解决方案 很急的.求好心大神帮忙

《C++游戏编程入门(第4版)》——1.5 声明和初始化变量

1.5 声明和初始化变量 C++游戏编程入门(第4版) 变量代表了计算机内存的某一部分,该部分被保留下来用于存储.检索和操作数据. 如果需要记录玩家的得分,则可以为它专门创建一个变量.这样一来,就可以读取并显示玩家得分.如果玩家将空中的外星敌人击毙,还可以将得分更新. 1.5.1 Game Stats程序简介 Game Stats程序显示在太空射击游戏中需要记录的诸如玩家得分.击毁敌人数目以及玩家防护盾是否开启等信息.该程序使用了一组变量来完成这些任务.程序如图1.5所示. 图1.5 游戏中每条

《C++游戏编程入门(第4版)》——2.14 问与答

2.14 问与答 C++游戏编程入门(第4版) 问:必须使用关键字true和false吗? 答:不一定,但最好这样做.在有关键字true和false之前,程序员经常使用1代表true,0代表false.然而,既然有了true和false,最好使用它们而不是过时的1和0. 问:可以将true或false以外的值赋给bool型变量吗? 答:可以.可以将表达式赋给bool型变量,变量将存储表达式的真或假. 问:可以使用switch语句对某个非整数值进行验证吗? 答:不可以.switch只能用于可以解释

《C++游戏编程入门(第4版)》——1.8 Lost Fortune简介

1.8 Lost Fortune简介 C++游戏编程入门(第4版) 本章最后一个项目Lost Fortune是一个拟人化的探险游戏.在游戏中,玩家输入一些信息,计算机把这些信息扩展成一个探险故事.程序的运行示例如图1.9所示. 图1.9 故事由玩家提供的细节构成 这里不一次展示全部代码,而是每次给出一部分.从Cengage Learning网站(www.cengageptr.com/ downloads)上可以下载到该程序的代码.程序位于Chapter 1文件夹中,文件名为lost_fortun

《C++游戏编程入门(第4版)》——1.9 本章小结

1.9 本章小结 C++游戏编程入门(第4版) 本章介绍了以下概念: C++是编写一流游戏的主要编程语言. C++程序由一系列的C++语句组成. C++程序的基本生命周期包括构思.设计.源代码.目标文件和可执行文件. 编程错误包括3类:编译错误.链接错误和运行时错误. 函数是一组能完成某些任务并返回一个值的一组程序语句. 每个程序都必须包含main()函数,它是程序的运行起始点. include指令告诉预处理器在当前文件中包含另一个文件. 标准库是一些文件的集合.程序文件可以包含这些文件来实现像

《C++游戏编程入门(第4版)》——1.2 编写第一个C++程序

1.2 编写第一个C++程序 C++游戏编程入门(第4版)到此为止,我们已经介绍了足够多的理论知识.现在来实践编写第一个C++程序.麻雀虽小,五脏俱全.该程序同样演示了在控制台窗口中显示文本的方法. 1.2.1 Game Over程序简介 程序员在学习新语言时,编写的第一个程序便是经典的Hello World程序,在屏幕上显示Hello World.Game Over程序打破了这个传统,显示的是Game Over!.该程序的运行结果如图1.2所示. 图1.2 您的第一个C++程序显示的是计算机游

《C++游戏编程入门(第4版)》——1.7 使用常量

1.7 使用常量 C++游戏编程入门(第4版)常量 是经过命名的无法修改的值.如果程序中频繁地使用到不变化的值,常量就很有用.例如,在编写太空射击游戏时,每个在空中击毁的外星人都值150分,那么就可以定义一个名为ALIEN_POINTS的常量,其值为150.然后每次需要使用外星人的分数时,就可以使用ALIEN_POINTS而不是数字150. 常量有两大优势.首先,它让程序更加清晰易懂.一眼看到ALIEN_POINTS,就能知道它的意思.如果查看的代码中有150,我们也许并不知道它代表的含义.第二

《C++游戏编程入门(第4版)》导读

前言 C++游戏编程入门(第4版)好莱坞能带来最好视觉效果.声乐效果以及纯粹的兴奋,顶级的计算机游戏也完全可以与其媲美.但是游戏这种娱乐方式与其他方式不同,它们能让玩家一连好几个小时守在屏幕跟前.能让游戏如此与众不同并且引人入胜的原因在于交互性.在计算机游戏中,我们不是坐下来观看主人公如何与怪物搏斗,而是自己担任主角.实现这种交互性的关键在于编程.编程让外星生物.外星人进攻中队或整支敌人军队在不同情况下对玩家做出不同的反应.编程让游戏的故事情节能够以新的方式展开.实际上,作为编程的结果,游戏可能

《C++游戏编程入门(第4版)》——2.6 使用while循环

2.6 使用while循环 C++游戏编程入门(第4版)只要表达式的值为true,那么while循环就可以重复执行部分代码.下面给出while循环的一般形式: while (expression) statement;``` 如果expression的值为false,则程序转到循环后面的语句.如果为true,则执行statement,然后再回过头来验证expression.整个过程一直重复到expression的值为false,然后循环结束. ###2.6.1 Play Again游戏简介 Pl