坦克大战-day 1

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();
     }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值