資源描述:
《java開發(fā)坦克大戰(zhàn).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
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ù)庫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ī)顯示
2、器的分辨率是800×600,表示計(jì)算機(jī)屏幕上的每一行由800個(gè)點(diǎn)組成,共有600行,整個(gè)計(jì)算機(jī)屏幕共有480000個(gè)像素?,F(xiàn)在的計(jì)算機(jī)可以支持更高的分辨率,也就是說,屏幕上可以顯示更多的像素。因此,像素是一個(gè)密度單位,而厘米是長度單位,兩者無法比較。繪圖原理(1)[Window013.java]Component類提供了兩個(gè)和繪圖相關(guān)最重要的方法:1、paint(Graphicsg)繪制組件的外觀2、repaint()刷新組件的外觀當(dāng)組件第一次在屏幕顯示的時(shí)候,程序會(huì)自動(dòng)的調(diào)用paint()方法來繪制組件importjava.awt
3、.*;importjavax.swing.*;publicclassWindow013extendsJFrame{//定義組件MyPanelmp=null;publicstaticvoidmain(String[]args){Window013th=newWindow013();精選范本,供參考!}publicThread01(){//創(chuàng)建組件mp=newMyPanel();//加入組件this.add(mp);//設(shè)置窗體this.setSize(400,300);this.setLocationRelativeTo(null);
4、this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}}//定義一個(gè)MyPanel(我自己的面板是用于繪圖和顯示繪圖的區(qū)域)classMyPanelextendsJPanel{//重寫(覆蓋)JPanel的paint方法publicvoidpaint(Graphicsg){//Graphics是繪圖的重要類,可以把它理解成一只畫筆//1、調(diào)用父類函數(shù),完成初始化任務(wù)super.paint(g);//super.paint(g);這句話不能
5、少System.out.println("Paint被調(diào)用");//用于測(cè)試?yán)L圖原理2paint調(diào)用//先畫一個(gè)圓g.drawOval(10,10,30,30);//drawOval方法是畫圓}}------------------------------------------------------------------------------繪圖原理(2)在以下情況paint()將會(huì)被調(diào)用:1、窗口最小化,再最大化2、窗口的大小發(fā)生變化3、repaint函數(shù)被調(diào)用java繪圖技術(shù)--GraphicsGraphics類[Win
6、dow014.java]Graphics類你可以理解就是畫筆,為我們提供了各種繪制圖形的方法:[多看jdk幫助文檔]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,i
7、ntheight);6、畫圖片drawImage(Imageimg.intx,inty,..);7、畫字符串drawString(Stringstr,intx,inty);8、設(shè)置畫筆的字體setFont(Fontfont);精選范本,供參考!9、設(shè)置畫筆的顏色setColor(Colorc);//java畫圖Graphics繪圖類的使用方法importjava.awt.*;importjavax.swing.*;publicclassWindow014extendsJFrame{//定義組件MyPanel1mp=null;publ
8、icstaticvoidmain(String[]args){Window014th=newWindow014();}publicWindow014(){//構(gòu)建組件mp=newMyPanel1();//加入組件this.add(mp