有没有人有Java中的良好状态管理器教程?过去几天我一直在关注这个问题,我遇到的任何问题似乎都无法以我需要的方式正确工作。我需要它能够接受用户输入,然后从标题状态切换到游戏状态。提前致谢。Java游戏状态管理
1
A
回答
5
我会给你点正确的方向,给你一些行话来寻找:“有限状态机”。对于游戏菜单,FSM应该足够了。现在你已经知道了这个流行词,你可以通过Google搜索找出大量的例子。虽然基本思想非常简单,但有很多不同的实现。请记住,这种用于游戏状态转换的系统并不需要那么极端。
我亲眼见过各种各样的东西,从过度设计的多维状态转换到巨大的千行转换语句。
对于没有流或疯狂的游戏中断一个基本的游戏,你应该寻找一个面向对象的方法没有比这更复杂:
public enum GameState {
TITLE_STATE = 0,
MAINGAME_STATE,
PAUSE_STATE,
}
void GameStateUpdate() {
// handle update
switch(m_curState) {
case TITLE_STATE:
UpdateTitleScreen();
if(UserPressesEnter()) {
m_curState = MAINGAME_STATE;
}
break;
case MAINGAME_STATE:
UpdateMainGame();
if(UserPressesPause()) {
m_curState = PAUSE_STATE;
}
break;
case PAUSE_STATE:
UpdatePause();
if(UserDoneWithPause()) {
m_curState = MAINGAME_STATE;
}
break;
}
}
从这样的工作,看看是否可以添加过渡状态例如暂停菜单弹出或弹出,或在“MAINGAME_STATE”开始之前的介绍影片。
0
枚举是与国家走的路。看看这个: http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
+0
我了解Enums,但让他们使用JFrame,绘制和更新方法令我感到困惑。 – x3zinja12
相关问题
- 1. 游戏状态管理Android?
- 2. XNA游戏状态管理
- 3. Lua,游戏状态和游戏循环
- 4. XNA游戏状态管理参考指定
- 5. 如何管理游戏中玩家的变化状态?
- 6. 游戏状态管理器,暂停和恢复
- 7. 如何在GAE上管理游戏状态数据
- 8. 游戏状态给黑屏
- 9. android保存游戏状态
- 10. 游戏状态模式
- 11. 储蓄游戏状态Android
- 12. 保存游戏状态?
- 13. 游戏画面管理
- 14. Java 2D游戏多态性
- 15. XNA 2D游戏状态,重新启动游戏
- 16. 跟踪卡牌交易游戏的游戏状态
- 17. 如何在游戏中保存/加载游戏的状态?
- 18. 向游戏资源管理器添加游戏
- 19. 无法管理运行2人游戏的Python游戏
- 20. Java平滑基于状态的游戏 - 状态返回零点错误
- 21. 确定TicTacToe游戏状态的算法?
- 22. 从3.1转换到4.0 ...游戏状态
- 23. 当网络游戏状态改变
- 24. 如何重置cocos2d游戏状态?
- 25. 通过网络比较游戏状态?
- 26. Android SurfaceView /线程更新游戏状态
- 27. 暂停后保存游戏状态。 AndEngine
- 28. Tic Tac Toe游戏状态不更新
- 29. 游戏架构和状态设计
- 30. 在线游戏状态信息
你可能会有更多的运气[gamedev.stackexchange.com](http://gamedev.stackexchange.com/) – drew010
是的。我已经在那里查过,但在java中并没有太多东西,并且特别说明了如何实现这一点。 – x3zinja12