其他分享
首页 > 其他分享> > 尚学堂高琪--简单飞机小项目

尚学堂高琪--简单飞机小项目

作者:互联网

花了一个星期时间大致过了一遍java基础部分的内容,感觉心里空荡荡的,自己写代码也无从下手,为此找了一个小项目来练练手,巩固一下java语法和继承的内容。
参考的尚学堂高琪视频:Java300集
尚学堂java300集随堂课件:速学堂

我写的代码在这:plane_game.rar,CSDN不要积分下载。
,在这里记录一下我的学习笔记。

1.游戏主界面窗口及图形和文本的绘制

这里我还不是太熟悉AWT相关操作,后期再慢慢复习。

2. ImageIO实现图片加载技术

这里需要注意的是图片路径问题,细节方面在代码的注释中解释

3.多线程和内部类实现动画效果

跟漫画一样,不断地重画可以造成动漫效果。这里利用多线程和内部类,每次重画时改变飞机的位置,由于时间相隔很短在cpu执行时间内,人眼看到的就是动起来的效果。
(注:因为JFrame闪烁特别严重,加一段双缓冲技术,解决闪烁问题,这里对于该知识点还是不太懂,直接复制粘贴的,但是在我的电脑上效果不太好,可能是电脑原因)。

4.游戏物体父类及子类设计

写一个GameObject父类,飞机Plane炮弹Shell都继承此类,
通过此例子可以理解构造方法的作用,以及将飞机plane类封装

5.飞机类增加键盘控制方向

在飞机类中增加两个按下和抬起,以此控制飞机移动的方法,并从写父类中画出自身位置的方法。

6.在炮弹类中实现任意角度飞行和反弹

增加一个用Graphics g画笔画炮弹的方法,并增加用简单三角关系实现任意角度飞及碰撞反弹的方法。

7.容器对象存储多发炮弹

为了存储多发炮弹,定义一个容器ArrayList来管理这些对象,循环遍历这些炮弹并画出来,就会在窗体上出现多个炮弹。

8 .利用矩阵检测进行飞机炮弹碰撞检测

在主函数所在程序的画图方法中增加飞机和炮弹的矩形检测代码,碰撞了则飞机消失。

9. 新增爆炸类并轮播实现爆炸图片

主要思想是,爆炸类中定义一个static区域实现16组爆炸图片循环以出现爆炸动画,然后主函数中new该类。

10.最后增加计时功能

主要为两点:

  1. 时间计算:当前时刻- 游戏结束的时刻

  2. 显示时间到窗口
    这里我对Date这个类不太了解,基本上是参照视频写的。

总结:

自己从头到尾把这个小项目的代码敲下来并加以理解,加深了我对java面向对象中继承关系的理解以及强化了eclipse的操作和部分基础语法的印象,虽然部分代码实现还不太明白,但保持继续学习的心态最后总归要把它弄清楚的。

标签:高琪,飞机,java,代码,炮弹,学堂,父类,类中
来源: https://blog.csdn.net/qq_35027690/article/details/105893854