1.建立Java项目
创建项目,项目名为Tank。
2.创建包
分别为app包,game包,util包。
3.创建类
在app包里创建GameMain,作为程序的入口。
在Frame包里创建GameFrame,作为游戏的主窗口。
GameMain:启动程序
package app;
//GameMain:启动程序,作为程序的入口
public class GameMain {
public static void main(String[] args) {
}
}
GameFrame:对游戏的窗口进行初始化。设置标题,大小,坐标,窗口的关闭事件的监听。
设置标题:
package game;
import java.awt.*;
public class GameFrame extends Frame {
public GameFrame() {
initFrame();
}
private void initFrame(){
setTitle("坦克大战");
}
}
这样的方法不利于后期的管理,应该创建一个类来管理常量。
我们在util包中创建一个类Constant,所有游戏中的常量都在里面
package util;
public class Constant {
public static final String GAME_TITLE="坦克大战";
}
那么如何使用这个常量呢?
我们可以采用静态导入的方法。
package game;
import java.awt.*;
import static util.Constant.*;
public class GameFrame extends Frame {
public GameFrame() {
initFrame();
}
private void initFrame(){
setTitle(GAME_TITLE);
}
}
设置窗口大小,左上角坐标,居中显示,窗口显示,窗口大小不可改变。
package game;
import java.awt.*;
import static util.Constant.*;
public class GameFrame extends Frame {
public GameFrame() {
initFrame();
}
private void initFrame(){
setTitle(GAME_TITLE);
setBounds(FRAME_X,FRAME_Y,FRAME_WIDTH, FRAME_HEIGHT);
setResizable(false);
setVisible(true);
}
}
如何居中显示呢?
找到电脑的分辨率为1920*1080,在Constant中定义宽度,高度,坐标。
public static final int FRAME_WIDTH=800;
public static final int FRAME_HEIGHT=600;
public static final int FRAME_X=1920-FRAME_WIDTH>>1;
public static final int FRAME_Y=1080-FRAME_HEIGHT>>1;
设置窗口关闭事件监听,采用适配器。
private void initEventListener(){
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
在构造方法中调用这个方法。
public GameFrame() {
initFrame();
initEventListener();
}