java开发坦克大战
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
坦克大战游戏演示
为什么选择这个项目
1、好玩
2、涉及到java各个方面的技术
1、java面向对象编程;
2、界面编程;
3、绘图技术;
4、多线程;
5、文件i/o操作;
6、数据库
3、巩固旧知识,学习新知识
java绘图坐标体系
绘图坐标本系--介绍
坐标原点位于左上角,以像素为单位。像素是计算机屏幕上最小的显示单位。在java 的坐标系中,第一个是X坐标,表示当前位置为水平方向,距离坐标原点X个像素;第二个是Y坐标,表示当前位置为垂直方向,距离坐标原点Y个像素。
坐标体系--像素
计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的。例如,计算机显示器的分辨率是800×600,表示计算机屏幕上的每一行由800个点组成,共有600行,整个计算机屏幕共有480000个像素。现在的计算机可以支持更高的分辨率,也就是说,屏幕上可以显示更多的像素。因此,像素是一个密度单位,而厘米是长度单位,两者无法比较。
绘图原理(1)[Window013.java]
Component类提供了两个和绘图相关最重要的方法:
1、paint(Graphics g)绘制组件的外观
2、repaint()刷新组件的外观
当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件
import java.awt.*;
import javax.swing.*;
public class Window013 extends JFrame{
//定义组件
MyPanel mp=null;
public static void main(String[] args) {
Window013 th=new Window013();
}
public Thread01(){
//创建组件
mp=new MyPanel();
//加入组件
this.add(mp);
//设置窗体
this.setSize(400, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
//定义一个MyPanel(我自己的面板是用于绘图和显示绘图的区域)
class MyPanel extends JPanel{
//重写(覆盖)JPanel的paint方法
public void paint(Graphics g){//Graphics是绘图的重要类,可以把它理解成一只画笔
//1、调用父类函数,完成初始化任务
super.paint(g);//super.paint(g);这句话不能少
System.out.println("Paint被调用");//用于测试绘图原理2paint调用
//先画一个圆
g.drawOval(10, 10, 30, 30);//drawOval方法是画圆
}
}
------------------------------------------------------------------------------ 绘图原理(2)
在以下情况paint()将会被调用:
1、窗口最小化,再最大化
2、窗口的大小发生变化
3、repaint函数被调用
java绘图技术--Graphics
Graphics类[Window014.java]
Graphics类你可以理解就是画笔,为我们提供了各种绘制图形的方法:[多看jdk帮助文档]
1、画直线 drawLine(int x1,int y1,int x2,int y2);
2、画矩形边框 drawRect(int x,int y,int width,int height);
3、画椭圆边框 drawOval(int x,int y,int width,int height);
4、填充矩形 fillRect(int x,int y,int width,int height);
5、填充椭圆 fillOval(int x,int y,int width,int height);
6、画图片 drawImage(Image img.int x,int y,..);
7、画字符串 drawString(String str,int x,int y);
8、设置画笔的字体 setFont(Font font);
9、设置画笔的颜色 setColor(Color c);
//java画图Graphics绘图类的使用方法
import java.awt.*;
import javax.swing.*;
public class Window014 extends JFrame{
//定义组件
MyPanel1 mp=null;
public static void main(String[] args) {
Window014 th=new Window014();
}
public Window014(){
//构建组件
mp=new MyPanel1();
//加入组件
this.add(mp);
//设置窗体
this.setSize(400, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
//定义一个MyPanel(我自己的面板是用于绘图和显示绘图的区域)
class MyPanel1 extends JPanel{
//重写(覆盖)JPanel的paint方法
public void paint(Graphics g){//Graphics是绘图的重要类,可以把它理解成一只画笔
//1、调用父类函数,完成初始化任务
super.paint(g);
//画一个直线
g.drawLine(10, 10, 40, 10);
//画矩形边框
g.drawRect(50, 50, 40, 40);
//画椭圆边框
g.drawOval(100, 100, 60, 60);
//画填充矩形
g.setColor(Color.blue);
g.fillRect(10, 150, 70, 70);
//画填充椭圆
g.setColor(Color.red);//设置画笔颜色
g.fillOval(200, 50, 80, 80);
}
}
------------------------------------------------------------------------------