gpt4 book ai didi

java - Slick2D:StateBasedGame 并创建菜单

转载 作者:行者123 更新时间:2023-12-01 13:24:01 26 4
gpt4 key购买 nike

我开始为我使用 Slick2D 制作的简单游戏进行一些菜单编程。我的菜单本质上是一个选项列表,选择该列表后,可以打开一个包含更多选项的子菜单。

例如:

Main Menu
---------
New Game
Options

当选择“选项”时,会出现以下菜单:

Options
-------
Video
Audio
Back

我的问题是我应该为每个子菜单初始化不同的BasicGameState还是有更好的方法来处理这个问题?

最佳答案

基于状态的游戏非常严格地仅用于在启动屏幕、“新游戏”菜单(如主菜单)和游戏玩法之间进行分离。超过 3 或 4 个,意味着您肯定以低效的方式使用它们。

BasicGameState 类应包含所有游戏代码,包括该游戏状态下可用的菜单交互内容。

如果您想要按照您所描述的那样创建一个菜单,您可以创建一个名为 MenuBar 的类,并用其中包含 Item 类的 MenuItem 类填充它。当在某个 x 边界处单击菜单栏时,该 MenuItem 可以将 boolean 值翻转为 true,以便显示其子项。如果此后鼠标不在边界内, boolean 值将翻转为 false 并且不绘制其项目。

希望这能让您朝着正确的方向前进。对要放入 BasicGameStates 中的内容要非常有选择性(我还建议阅读 Singleton 是什么,因为 BasicGameStates 就是: http://en.wikipedia.org/wiki/Singleton_pattern ,因为您的游戏中的每个游戏状态应该只有一种唯一类型。因此,在 slick2d 库中为每个子菜单创建单独的游戏状态将非常低效且困惑)

关于java - Slick2D:StateBasedGame 并创建菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21883459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com