java开发坦克大战

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

}

}

------------------------------------------------------------------------------

相关文档
最新文档