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);//正常退出程序 } });