如何创建带有状态的游戏菜单
How to create a Game Menu with States
我一直在寻找如何制作游戏菜单的例子。例如,我想有应用程序打开的菜单。从那里,它会打开"玩游戏"、"显示演职员表"answers"退出"。
到目前为止我所看到的一切都是为弹出式菜单..
所以我寻找的答案是关于使用"状态",如暂停状态,游戏状态等。但是我不知道它应该是什么布局,也不知道它应该如何使用,也不知道如何创建MenuState,也找不到一个例子
使用glut和freeglew
GUI实现
基本想法是在摄像头前创建一些纹理四边形,当用户点击屏幕时,将其转化为世界空间,并找出他们点击的是哪个四边形,从而找出他们点击的是哪个按钮。你可能会发现,正投影在这里是可行的。
确切的实现将取决于您如何与键盘和鼠标交互(GLUT, SDL等)。
您可能需要考虑使用GUI框架,如CEGUI, FLTK或类似的,尽管这通常是一项复杂的任务。
游戏状态游戏状态是一种从用户在游戏中的过程中抽象出来的简单方法。它允许你将游戏的不同区域建模为DFA上的节点或使用堆栈。然后你可以通过创建gameestate对象继承的api来实现这一点。然后你可以通过从这个接口派生类来实现不同类型的游戏状态。
接口本身可以提供方法,允许在激活或暂停状态等情况下通知状态。
如果使用DFA来管理状态,那么有一个活动状态表示当前节点DFA。然后,状态可以根据游戏的输入选择一个新状态(点击菜单中的播放按钮等)。
如果你使用堆栈来管理游戏状态,那就有点不同了。首先你将菜单状态推入堆栈,然后当一个关卡被选中时,你也可以将其推入堆栈。当关卡结束时,状态从堆栈中弹出,用户返回到主菜单状态。
一个简单游戏引擎的例子是:https://bitbucket.org/iwillspeak/thulium/src。GameState
是游戏状态的基类。这些是由GameStateFactory
管理的。SampleState
是一个游戏状态实现示例
- Constexpr替代了新的放置方式,可以让内存中的对象保持未初始化状态
- 在C++游戏中与库存系统作斗争
- 我不断收到 [错误] ID 返回 1 退出状态错误,但看不到问题所在
- 换位表导致测试失败(但在游戏中运行良好)
- OSX MetalKit CVMetalTextureCacheCreateTextureFromImage失败,状态:
- Craps游戏问题,忽略if语句
- std::future_error:无关联状态
- 在运行时创建和更改游戏状态
- 无法恢复我的安卓 c++ 游戏的状态(状态>保存状态始终为空)
- 暂停游戏OnSteamVR叠加层处于活动状态
- 无法访问/存储地图中的游戏状态对象
- 如何简单地管理我的游戏状态?C++
- Xcode C++游戏状态错误
- 编码和解码游戏状态类问题
- 如何在C++中实现游戏状态堆栈
- 从 2D 数组中排除具有特定状态的字段;生命的游戏
- 如何创建带有状态的游戏菜单
- 构建一个基于状态的游戏引擎,以及Makefile结构帮助
- 尝试更改游戏状态时出现分段错误
- 保存和加载游戏状态到二进制文件中.c++