四、创建界面
来源:互联网 发布:新疆移动4g网络什么时候开通 编辑:程序博客网 时间:2024/06/06 02:45
续接上一节内容,我们截止到目前为止已经实现了输入监听、界面管理等内容,也就是说整个游戏的骨架已经构建完毕,接下来这节我们将创建各个游戏状态界面,同时为各个界面做上控制台打印标记,来测试一下我们游戏的整个控制管理流程。
首先创建类PlayState类同时让他继承自GameState然后实现内部各个方法结果如下:
public class PlayState extends GameState{protected PlayState(GameStateManager gsm) {super(gsm);}@Overridepublic void init() {}@Overridepublic void update(float dt) {}@Overridepublic void draw() {}@Overridepublic void handleInput() {}@Overridepublic void dispose() {}}
然后依次创建出MenuState、HighScoreState、GameOverState几个类同上继承自GameState,并将其方法一并实现。各个方法内添加控制台打印参数,然后再打开GameStateManager类在setState方法内将各个gamestate参数实例化如下:
public void setState(int state){if(gamestate!=null)gamestate.dispose();//每次跳转页面时都会调用上一个界面内的dispose方法进行内存释放if(state==MENU){gamestate=new MenuState(this);}if(state==PLAY){gamestate=new PlayState(this);}if(state==HIGHSCORE){gamestate=new HighScoreState(this);}if(state==GAMEOVER){gamestate=new GameOverState(this);}}
这样我们就实现了闭环的一个流程控制,现在缺少的是条件判断(输入条件、游戏结束条件、游戏开始条件等)来促使各个界面进行跳转,然而现在我们可以通过在GameStateManager类中构造函数内设置setState(PLAY/MENU/HIGHSCORE/GAMEOVER)值来选择游戏进入哪个界面,这样就可以测试一下我们各个界面是否能够正常进入,是否能够将您所添加的控制台打印参数打印出来。我测试的效果如下图所示:
0 0
- 四、创建界面
- 四,主要菜单界面的创建
- Unity3D+免费工具开发2D游戏之四:创建计分界面
- 角色创建界面的创建
- j2me 创建欢迎界面
- 创建Android启动界面
- flex动态创建界面
- 创建Android启动界面
- 创建Android启动界面
- 创建图形化界面
- 创建Android启动界面
- 创建Ribbon界面
- java满汉楼----创建界面
- 创建引导界面
- 创建Android启动界面
- 一.创建欢迎界面
- 用vs2010创建界面
- 创建图形化界面
- [LeetCode]:Reverse Integer(Only两类解法)
- 排序数组对程序运行的影响
- Js作用域与作用域链详解
- 软件版本: alpha, beta, release, SPx
- 原子操作的好处
- 四、创建界面
- lua中遍历table的几种方式比较
- VS一些设置及编译时候的一些问题以及解决方案
- iOS App检测版本更新
- 电商之路
- 用CStdioFile写文件
- 跟日期 时间有关的计算与比较
- chrome jsonView插件安装
- QPPc menu过程