标签:
Java小游戏之打飞机(一)
20150809
下午写了一下午,把打飞机的基本结构已经写完,下面要详细说明功能及源码:
先看一下运行界面:
游戏运行中图片
左上角是英雄机,黄色的是子弹,英雄机的任务就是躲子弹,英雄机可以通过键盘沿各个方向移动来躲子弹,躲的子弹越多,等级越高。子弹遇到墙壁可以反弹。
游戏结束界面
一旦英雄机被子弹击中,会有一个爆炸的效果,然后游戏结束,打印等级和游戏总时间。
项目结构图:
深层剖析:
由界面可以看出,有英雄机类、子弹类、然后一个主界面类,具体处理的时候,由于考虑到程序的扩展性和数据的封装,建了一个工具包,把常用的方法与常量封装起来,便于其他类的调用和代码的重用。
Constant类中封装了游戏用到的常量,这个项目中只是封装了主界面的宽度和高度,如果项目比较大的话,可以封装更多的常量,方便其他类调用。
GameUtil类中封装了游戏中常用的方法,这里只是一个加载图片的方法。
MyFrame类封装了界面相关的属性与方法,如果还有其他界面的话直接继承该类即可。
英雄机类和子弹类都有共同的一部分属性,例如图片、坐标、移动速度、图片的宽度和高度等,故封装一个GameObject类,把这些基本的属性封装起来,便于后续添加其他物体,程序的扩展性变得更好。
Plane类即英雄机类,里面有英雄机移动的方法,通过键盘可以控制沿各个方向移动,后续想改成鼠标控制。
Bullet类即子弹类,里面封装了子弹的移动角度,轨迹,速度等方法。
Expode类主要是实现子弹击中英雄机的一个爆炸效果,就是画一系列连续的爆炸图片。
由于时间问题,程序中还有一些bug没有解决,待明天解决后会把具体细节问题和各个类的源码发出来,敬请期待。。。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/u011637069/article/details/47380919