1
5
游戏中的菜单与任何应用程序中的菜单几乎相同——它是一组带有行为的GUI元素。无论您是否具有不同的菜单状态,这都适用。 游戏有几个不同的菜单状态。一个是因为游戏菜单可以追溯到之前,我们有可用的游戏图形用户界面库,而这些菜单中的大多数只是精灵的集合和一些处理鼠标点击的硬编码例程。另一个原因是,游戏中的输入处理通常与菜单中所需的输入处理非常不同,因此通常更容易让完全独立的例程处理这些输入处理。 但实际上,几乎不需要一个独特的菜单游戏状态。你的游戏通常有一个图形用户界面,其中一些元素可见,一些则不可见。要调出菜单,只需创建或显示所需的元素。你可能还需要暂停游戏。(或者不是,如果是网络游戏)如果还没有游戏在进行,不管。通常情况下,您的系统将是一个简单得多的版本:
如果您的GUI系统足够的话,最后两个阶段甚至可以合并。 虽然我并不总是遵循自己的建议,但我认为很少有一个好的理由可以让一个游戏有一个独特的顶级状态机。有少量的对象存在于少量排列中,您只需更新并呈现它们即可。 |
2
-1
大多数GUI框架都是事件驱动的,也就是说:菜单元素(以及按钮和其他“输入”小部件)与窗口和您提供的侦听器对象相关联。框架负责调用
作为程序员,您不需要编写显式检查这些菜单元素的代码。 |
Vedant · 如何解决python啦啦队长问题?[已关闭] 2 年前 |
cobby · 在战略模式中使用工厂模式? 2 年前 |
Nobody · Java中带while循环的三角形模式 2 年前 |
Eduard Stefanescu · 如何在层之间传输异常? 6 年前 |
D. Schreier Talha Noyon · 对于目录中的每个类 6 年前 |
Tanvi Jaywant · 如何重载类 6 年前 |