java练习小游戏:飞机大战0.1
游戏项目基本功能开发
1. AWT 技术画出游戏主窗口(0.1 版)
· 基本功能实现
AWT 和 Swing 是 Java 中常见的 GUI(图形用户界面)技术。
本项目中,我们使用的是 AWT 技术,它是 Java 中最老的 GUI 技术,非常简单。
MyGameFrame 类:画游戏窗口:
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
/**
* 游戏初始窗口
*/
public class MYGameFrame extends Frame {
public void launchFrame(){
//在游戏窗口答应标题
setTitle("java练习小项目");
//窗口默认不可见,设为可见
setVisible(true);
//窗口大小:宽500,高度:500
setSize(500,500);
//窗口左上角坐标位置
setLocation(300,300);
//添加关闭窗口监听,这样用户点击右上角关闭图标,可以关闭游戏程序
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);//正常退出程序
}
});
}
public static void main(String[] args) {
MYGameFrame f = new MYGameFrame();
f.launchFrame();
}
}
-
继承Frame 类,画出窗口
Frame 是 java.awt 中的主要类,我们画的窗口都需要继承 Frame。这样,Frame 的基本功能我们就可以直接使用了。 -
窗口坐标问题,了解坐标系
setLocation(300, 300);代码的含义是定位窗口的位置。窗口的位置就是指“窗口左上角顶点的位置”。
这里 Y 轴的方向是向下的,和我们初中数学学的方向不一样。这就是计算机里面的坐标系。 -
物体就是矩形,物体的位置就是所在矩形左上角顶点的坐标
游戏或开发中,所有物体的都是矩形。即使你看到一个圆在那里,我们处理的本质 上是圆的外切矩形。即使你看到一个美女,我们处理的是美女所占用的矩形空间。 不然,给你一个不规则的图形,你没法做很多运算。
游戏开发中的物体,位置通常指的就是:该物体的矩形的左上角顶点位置。 -
窗口关闭问题
Frame 类默认没有处理关闭窗口功能,我们需要自己添加关闭功能。System.exit(0) 表示应用正常结束。addWindowListener()表示增加窗口监听事件
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);//正常退出程序
}
});