四、创建界面

         续接上一节内容,我们截止到目前为止已经实现了输入监听、界面管理等内容,也就是说整个游戏的骨架已经构建完毕,接下来这节我们将创建各个游戏状态界面,同时为各个界面做上控制台打印标记,来测试一下我们游戏的整个控制管理流程。

        首先创建类PlayState类同时让他继承自GameState然后实现内部各个方法结果如下:

public class PlayState extends GameState{

	protected PlayState(GameStateManager gsm) {
		super(gsm);
	}
	@Override
	public void init() {}
	@Override
	public void update(float dt) {}
	@Override
	public void draw() {}
	@Override
	public void handleInput() {}
	@Override
	public 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
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉林南瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值