1.项目搭建
源码地址:坦克大战源码
开发工具:Jdk1.8 、idea
新建一个Java项目:File-->Project-->Java-->一路next-->输入自己的项目名称就可以了。
例如:
2.初识Frame
新建一个T类,创建一个窗口,设置窗口的宽度和高度,设置标题,并且添加监听事件
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class T extends Frame {
public static void main(String[] args) {
Frame frame = new Frame();
//设置窗口的尺寸
frame.setSize(800,600);
//参数设置为true,当程序运行时,窗口显示
frame.setVisible(true);
//设置窗口标题
frame.setTitle("Tank war");
//点击窗口X关闭窗口,添加监听事件
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
3.Tank大战初识
新建一个TankFrame,里面没有main方法,目的是为了把T.class里面的东西,封装到一个类,让别的类调用
1.写一个构造方法,初始化窗口,让别的类可以调用
public TankFrame(){
//设置窗口的尺寸
this.setSize(800,600);
//设置窗口位置
this.setLocation(500,200);
//参数设置为true,当程序运行时,窗口显示
this.setVisible(true);
//设置窗口标题
this.setTitle("Tank war");
//点击窗口X关闭窗口,添加监听事件
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
2.在TankFrame类里面重写paint方法:
/**
* 重写paint方法,然后在窗口中指定位置画出一个矩形
* @param g
*/
@Override
public void paint(Graphics g){
g.fillRect(200,200,25,25);
}
3.新画出的这个方块,如何通过移动上下左右键让他动起来?
3.1添加键盘监听类
/**
* 键盘监听处理类
*/
class MyKeyListener extends KeyAdapter{
//按下一个键的时候
@Override
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
switch (key){
case KeyEvent.VK_LEFT:
x-=10;
break;
case KeyEvent.VK_UP:
y-=10;
break;
case KeyEvent.VK_RIGHT:
x+=10;
break;
case KeyEvent.VK_DOWN:
y+=10;
break;
default:
break;
}
}
//按键抬起的时候
@Override
public void keyReleased(KeyEvent e) {
super.keyReleased(e);
}
}
3.2如果按键改变的不是每次+10或者减10,这时候又要改变源码,所以优化代码,请看篇二