资源描述:
《java开发坦克大战》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、坦克大战游戏演示为什么选择这个项目1、好玩2、涉及到java各个方面的技术1、java面向对象编程;2、界面编程;3、绘图技术;4、多线程;5、文件i/o操作;6、数据库3、巩固旧知识,学习新知识java绘图坐标体系绘图坐标本系--介绍坐标原点位于左上角,以像素为单位。像素是计算机屏幕上最小的显示单位。在java的坐标系中,第一个是X坐标,表示当前位置为水平方向,距离坐标原点X个像素;第二个是Y坐标,表示当前位置为垂直方向,距离坐标原点Y个像素。坐标体系--像素计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的。例如,计算机显示器的分辨率是800
2、×600,表示计算机屏幕上的每一行由800个点组成,共有600行,整个计算机屏幕共有480000个像素。现在的计算机可以支持更高的分辨率,也就是说,屏幕上可以显示更多的像素。因此,像素是一个密度单位,而厘米是长度单位,两者无法比较。绘图原理(1)[Window013.java]Component类提供了两个和绘图相关最重要的方法:1、paint(Graphicsg)绘制组件的外观2、repaint()刷新组件的外观当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件importjava.awt.*;importjavax.swi
3、ng.*;publicclassWindow013extendsJFrame{//定义组件MyPanelmp=null;publicstaticvoidmain(String[]args){Window013th=newWindow013();}publicThread01(){//创建组件mp=newMyPanel();//加入组件this.add(mp);//设置窗体this.setSize(400,300);this.setLocationRelativeTo(null);this.setDefaultCloseOperation(JFrame
4、.EXIT_ON_CLOSE);this.setVisible(true);}}//定义一个MyPanel(我自己的面板是用于绘图和显示绘图的区域)classMyPanelextendsJPanel{//重写(覆盖)JPanel的paint方法publicvoidpaint(Graphicsg){//Graphics是绘图的重要类,可以把它理解成一只画笔//1、调用父类函数,完成初始化任务super.paint(g);//super.paint(g);这句话不能少System.out.println("Paint被调用");//用于测试绘图原理2pa
5、int调用//先画一个圆g.drawOval(10,10,30,30);//drawOval方法是画圆}}------------------------------------------------------------------------------绘图原理(2)在以下情况paint()将会被调用:1、窗口最小化,再最大化2、窗口的大小发生变化3、repaint函数被调用java绘图技术--GraphicsGraphics类[Window014.java]Graphics类你可以理解就是画笔,为我们提供了各种绘制图形的方法:[多看jdk帮
6、助文档]1、画直线drawLine(intx1,inty1,intx2,inty2);2、画矩形边框drawRect(intx,inty,intwidth,intheight);3、画椭圆边框drawOval(intx,inty,intwidth,intheight);4、填充矩形fillRect(intx,inty,intwidth,intheight);5、填充椭圆fillOval(intx,inty,intwidth,intheight);6、画图片drawImage(Imageimg.intx,inty,..);7、画字符串drawStrin
7、g(Stringstr,intx,inty);8、设置画笔的字体setFont(Fontfont);9、设置画笔的颜色setColor(Colorc);//java画图Graphics绘图类的使用方法importjava.awt.*;importjavax.swing.*;publicclassWindow014extendsJFrame{//定义组件MyPanel1mp=null;publicstaticvoidmain(String[]args){Window014th=newWindow014();}publicWindow014(){//构建
8、组件mp=newMyPanel1();//加入组件this.add(mp);//设置窗体this.setSi