資源描述:
《java開(kāi)發(fā)坦克大戰(zhàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、坦克大戰(zhàn)游戲演示為什么選擇這個(gè)項(xiàng)目1、好玩2、涉及到j(luò)ava各個(gè)方面的技術(shù)1、java面向?qū)ο缶幊蹋?、界面編程;3、繪圖技術(shù);4、多線程;5、文件i/o操作;6、數(shù)據(jù)庫(kù)3、鞏固舊知識(shí),學(xué)習(xí)新知識(shí)java繪圖坐標(biāo)體系繪圖坐標(biāo)本系--介紹坐標(biāo)原點(diǎn)位于左上角,以像素為單位。像素是計(jì)算機(jī)屏幕上最小的顯示單位。在java的坐標(biāo)系中,第一個(gè)是X坐標(biāo),表示當(dāng)前位置為水平方向,距離坐標(biāo)原點(diǎn)X個(gè)像素;第二個(gè)是Y坐標(biāo),表示當(dāng)前位置為垂直方向,距離坐標(biāo)原點(diǎn)Y個(gè)像素。坐標(biāo)體系--像素計(jì)算機(jī)在屏幕上顯示的內(nèi)容都是由屏幕上的每一個(gè)像素組成的。例如,計(jì)算機(jī)顯示器的分辨率是800×600,表示計(jì)算
2、機(jī)屏幕上的每一行由800個(gè)點(diǎn)組成,共有600行,整個(gè)計(jì)算機(jī)屏幕共有480000個(gè)像素。現(xiàn)在的計(jì)算機(jī)可以支持更高的分辨率,也就是說(shuō),屏幕上可以顯示更多的像素。因此,像素是一個(gè)密度單位,而厘米是長(zhǎng)度單位,兩者無(wú)法比較。繪圖原理(1)[Window013.java]Component類提供了兩個(gè)和繪圖相關(guān)最重要的方法:1、paint(Graphicsg)繪制組件的外觀2、repaint()刷新組件的外觀當(dāng)組件第一次在屏幕顯示的時(shí)候,程序會(huì)自動(dòng)的調(diào)用paint()方法來(lái)繪制組件importjava.awt.*;importjavax.swing.*;publicclassWi
3、ndow013extendsJFrame{//定義組件MyPanelmp=null;publicstaticvoidmain(String[]args){Window013th=newWindow013();}publicThread01(){//創(chuàng)建組件mp=newMyPanel();//加入組件this.add(mp);//設(shè)置窗體this.setSize(400,300);this.setLocationRelativeTo(null);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVis
4、ible(true);}}//定義一個(gè)MyPanel(我自己的面板是用于繪圖和顯示繪圖的區(qū)域)classMyPanelextendsJPanel{//重寫(xiě)(覆蓋)JPanel的paint方法publicvoidpaint(Graphicsg){//Graphics是繪圖的重要類,可以把它理解成一只畫(huà)筆//1、調(diào)用父類函數(shù),完成初始化任務(wù)super.paint(g);//super.paint(g);這句話不能少System.out.println("Paint被調(diào)用");//用于測(cè)試?yán)L圖原理2paint調(diào)用//先畫(huà)一個(gè)圓g.drawOval(10,10,30,30);
5、//drawOval方法是畫(huà)圓}}------------------------------------------------------------------------------繪圖原理(2)在以下情況paint()將會(huì)被調(diào)用:1、窗口最小化,再最大化2、窗口的大小發(fā)生變化3、repaint函數(shù)被調(diào)用java繪圖技術(shù)--GraphicsGraphics類[Window014.java]Graphics類你可以理解就是畫(huà)筆,為我們提供了各種繪制圖形的方法:[多看jdk幫助文檔]1、畫(huà)直線drawLine(intx1,inty1,intx2,inty2);2、
6、畫(huà)矩形邊框drawRect(intx,inty,intwidth,intheight);3、畫(huà)橢圓邊框drawOval(intx,inty,intwidth,intheight);4、填充矩形fillRect(intx,inty,intwidth,intheight);5、填充橢圓fillOval(intx,inty,intwidth,intheight);6、畫(huà)圖片drawImage(Imageimg.intx,inty,..);7、畫(huà)字符串drawString(Stringstr,intx,inty);8、設(shè)置畫(huà)筆的字體setFont(Fontfont);9、設(shè)置
7、畫(huà)筆的顏色setColor(Colorc);//java畫(huà)圖Graphics繪圖類的使用方法importjava.awt.*;importjavax.swing.*;publicclassWindow014extendsJFrame{//定義組件MyPanel1mp=null;publicstaticvoidmain(String[]args){Window014th=newWindow014();}publicWindow014(){//構(gòu)建組件mp=newMyPanel1();//加入組件this.add(mp);//設(shè)置窗體this.setSi