飞机游戏知识点

基本窗口绘制

AWT和Swing是Java中常用的GUI图形界面技术。

窗口的基本设置
this.setTitle(“XXX!”);
this.setVisible(true);
this.setSize(600, 600);
this.setLocation(500, 50);
以及如何正常关闭
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
懂得如何用paint()方法绘制图形和文本。
paint方法会画出整个窗口及内部内容,会被系统自动调用。
ImageIO实现图片加载:
使用GameUtil工具类来实现加载Images
使用多线程和内部类实现动画效果
定义重画窗口线程PaintThread内部类
双缓冲技术解决闪烁问题。
若窗口类继承自:java.swing.JFrame,则本身就解决了闪烁问题。

相关类的设计

GameObject类的设计
飞机类的设计

键盘控制

键盘控制原理:每个键盘有它对应的编号。
把键盘的操作与飞机的方向相联系。

设计炮弹类

炮弹任意角度飞行以及越界问题

可以用数组和容器产生多个炮弹

炮弹和飞机的碰撞检测

游戏中所有物体都可以抽象成“矩形”,可用矩形检测来实现碰撞检测。
Java的API中,提供了Rectangle类来表示矩形相关信息,并且可以用intersects()方法来判断矩形是否相交。

实现碰撞以后但是键盘的控制功能出现错误了
不知道哪里出了问题

用数组的轮播实现爆炸的效果

计时功能的实现

猜你喜欢

转载自blog.csdn.net/qq_35383654/article/details/85161180
今日推荐