关于javaswing做的游戏的一点小总结x

之前看了几个swing小游戏,也动手敲了下,比如俄罗斯方块,小鸟,“是男人就坚持30秒”,射击游戏等,有点小总结:

  所有swing做的游戏,无非是一种页面,一种可以与人交互,可以控制的动态页面,这其中就涉及到一些问题,我将它总结成了三个大步骤

  静态:

  目的:这个阶段先设计好类,并抽出父类和接口。若多个都满足有共同属性,抽父类(最好抽象类),若满足某实体既满足***又***则将后者设计为接口。

在界面上显示出每个实体,不需要它动,只需要能够在面板上显示出来,现不考虑谁先谁后的顺序,也不考虑什么实体的出现于其他的实体的出现有关。

  

  动态:

  目的(就射击游戏而言):

    动态效果的第一步就要做:让各个实体按照标准顺序进入面板,不能使静态存在了,比如射击游戏里面,英雄机可以直接在面板初始化的时候出来,敌机和小蜜蜂就需要通过共同父类FlyingObject随机生成(位置范围给定),然后推到面板,然后子弹是根据英雄机的坐标确定,所以子弹是通过英雄机的方法shoot得到并显示出来

    第二步:让实体动一步,英雄机喷气,敌机小蜜蜂下落,子弹发出

    第三步:既然动了一步,就要考虑是否有碰撞或者子弹击中事件发生,并处理,这是代码量最多的一步

    第四步:处理事件之后,需要将多余的清理掉(越界的删除,碰撞的删除,子弹消除)

    第五步:判断游戏是否结束

    第六步:不要忘了,需要重绘

  可控制的动态:

    这个阶段就需要控制状态了,比如开始的时候不能动,显示开始界面,游戏结束后不能动,要清除实体,并显示gameover界面,注意理清什么阶段应该显示哪些实体和产生什么事件,就在这些事件或方法前加状态,比如

          if(state==RUNNING){}

原文地址:https://www.cnblogs.com/jamsbwo/p/4681741.html