Java小游戏之打飞机(一)

来源:互联网 发布:vb.net api 编辑:程序博客网 时间:2024/06/11 09:47

Java小游戏之打飞机(一)

20150809


下午写了一下午,把打飞机的基本结构已经写完,下面要详细说明功能及源码:

先看一下运行界面:

游戏运行中图片

   左上角是英雄机,黄色的是子弹,英雄机的任务就是躲子弹,英雄机可以通过键盘沿各个方向移动来躲子弹,躲的子弹越多,等级越高。子弹遇到墙壁可以反弹。

游戏结束界面

  一旦英雄机被子弹击中,会有一个爆炸的效果,然后游戏结束,打印等级和游戏总时间。



项目结构图:


深层剖析:

由界面可以看出,有英雄机类、子弹类、然后一个主界面类,具体处理的时候,由于考虑到程序的扩展性和数据的封装,建了一个工具包,把常用的方法与常量封装起来,便于其他类的调用和代码的重用。

Constant类中封装了游戏用到的常量,这个项目中只是封装了主界面的宽度和高度,如果项目比较大的话,可以封装更多的常量,方便其他类调用。

GameUtil类中封装了游戏中常用的方法,这里只是一个加载图片的方法。

MyFrame类封装了界面相关的属性与方法,如果还有其他界面的话直接继承该类即可。


英雄机类和子弹类都有共同的一部分属性,例如图片、坐标、移动速度、图片的宽度和高度等,故封装一个GameObject类,把这些基本的属性封装起来,便于后续添加其他物体,程序的扩展性变得更好。

Plane类即英雄机类,里面有英雄机移动的方法,通过键盘可以控制沿各个方向移动,后续想改成鼠标控制。

Bullet类即子弹类,里面封装了子弹的移动角度,轨迹,速度等方法。

Expode类主要是实现子弹击中英雄机的一个爆炸效果,就是画一系列连续的爆炸图片。




各个类的源码及分析以及详细剖析见Java小游戏之打飞机(二)


0 0