




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上內(nèi)容:坦克大戰(zhàn)演示:java繪圖坐標(biāo)體系java繪圖技術(shù)java事件處理機(jī)制我的坦克大戰(zhàn)游戲(1.0版本)目標(biāo):理解java繪圖坐標(biāo)體系掌握java繪圖基本技術(shù)充分理解java事件處理機(jī)制完成java坦克大戰(zhàn)游戲(1.0版本)演示坦克大戰(zhàn):涉及的技術(shù):1java面向?qū)ο蟪绦蛟O(shè)計(jì)2界面編程3繪圖技術(shù)4多線程5文件流操作6數(shù)據(jù)庫技術(shù)java繪圖坐標(biāo)體系介紹:坐標(biāo)原點(diǎn)位于左上角,以像素為單元,x軸表示當(dāng)前位置為水平方向y坐標(biāo)表示當(dāng)前位置為垂直方向.像素是個(gè)密度單位.介紹快速入門案例 畫小圓 demo9_1JFrame 不提供繪畫功能,所以要在面板里畫,解釋:Componen
2、t類提供了兩個(gè)繪圖相關(guān)的兩個(gè)重要的類,1paint(Graphics g)繪制組建的外觀2repaint()刷新組建外觀當(dāng)組建第一次在屏幕上顯示時(shí),程序會(huì)自動(dòng)調(diào)用paint()方法,來繪制組件.在下列情況下paint()下也會(huì)被調(diào)用a 窗口最小化在最大化b 窗口大小發(fā)生變化c repaint函數(shù)被調(diào)用介紹Graphics類參考jdk畫直線畫矩形邊框畫橢圓邊框填充矩形填充橢圓畫圖片花字符串設(shè)置畫筆字體設(shè)置畫筆顏色第三十四講:演示案例: demo9_1/* * java繪圖原理 */package com.test1;import java.awt.*;import javax.swing.*;p
3、ublic class demo9_1 extends JFrameMyPanel mp=null;public static void main(String args) demo9_1 demo=new demo9_1();public demo9_1()mp=new MyPanel();this.add(mp);this.setSize(400,300);this.setLocation(200,200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);/定義一個(gè)MYpanel我自己的面板
4、,用于繪圖和實(shí)現(xiàn)繪圖區(qū)域class MyPanel extends JPanel/覆蓋JPanel的paint方法,/Graphics 是繪圖的重要類,可以把它理解成一支畫筆public void paint (Graphics g)/調(diào)用父類函數(shù),完成初始化super.paint(g); /固定格式不能少System.out.println("窗口被調(diào)用");/先畫一個(gè)圓g.setColor(Color.blue);/畫圓g.drawOval(10, 10, 30, 30);/劃線g.drawLine(10, 10, 20, 20);/畫矩形g.drawRect(30,
5、30, 10, 10);g.setColor(Color.red);/畫實(shí)心矩形g.fillRect(50, 50, 20, 20);/在面板上畫出圖片Image img=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/1.jpg");/顯示g.drawImage(img, 50, 50, 256, 192,this);/如何畫出字g.setColor(Color.red);g.setFont(new Font("華文彩云",Font.BOLD,50);g.drawString
6、("祖國(guó)萬歲", 20, 70);實(shí)戰(zhàn)-坦克大戰(zhàn)1、利用java繪圖畫出一個(gè)坦克./* * 功能:坦克游戲的1.0 * 1.畫出坦克 */package com.test1;import java.awt.*;import javax.swing.*;public class MyTankGame1 extends JFrame MyPanel mp=null;public static void main(String args) MyTankGame1 mytankgame1=new MyTankGame1();/構(gòu)造函數(shù)public MyTankGame1()mp=
7、new MyPanel();this.add(mp);this.setSize(500,500);this.setLocation(100,100);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);/我的面板class MyPanel extends JPanel/定義一個(gè)我的坦克Hero hero=null;/構(gòu)造函數(shù)public MyPanel()hero =new Hero(10,10);/重新paintpublic void paint(Graphics g)super.paint(g)
8、;/設(shè)置背景顏色,500為窗體的大小g.fillRect(0, 0, 500, 500); this.drawTank(hero.getX(), hero.getY(), g, 0, 1);/畫出坦克的函數(shù)public void drawTank (int x,int y ,Graphics g,int direct ,int type)/判斷類型switch (type)/我的坦克case 0 :g.setColor(Color.red);break;/敵人坦克case 1:g.setColor(Color.green);break;/判斷方向switch (direct)/向上case 0
9、 :/畫出我的坦克(到時(shí)再封裝成一個(gè)函數(shù))/1.畫出左邊的巨型g.fill3DRect(x, y, 5, 30,false);/2.畫出右邊的矩形g.fill3DRect(x+15, y, 5, 30,false);/3.畫中間矩形g.fill3DRect(x+5, y+5, 10, 20,false);/4.畫出圓形g.fillOval(x+4, y+7, 10, 15);/5.畫出炮筒g.drawLine(x+10, y-4, x+10, y+20);break;/坦克類class Tank/x表示坦克的橫坐標(biāo)private int x=0;public int getX() return x;public void setX(int x) this.x = x;/坦克的縱坐標(biāo)private int y=0;public int getY() return
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)隔振器市場(chǎng)供需現(xiàn)狀規(guī)劃分析報(bào)告
- 2025-2030年中國(guó)防脫發(fā)市場(chǎng)運(yùn)行狀況及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)鎳鋅電池市場(chǎng)競(jìng)爭(zhēng)格局及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)車庫門市場(chǎng)運(yùn)營(yíng)狀況及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)貴金屬冶煉市場(chǎng)運(yùn)營(yíng)狀況規(guī)劃分析報(bào)告
- 2025-2030年中國(guó)蜂膠市場(chǎng)運(yùn)行現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)藥酒市場(chǎng)發(fā)展現(xiàn)狀與投資規(guī)劃研究報(bào)告
- 2025-2030年中國(guó)胡蘿卜素行業(yè)運(yùn)營(yíng)狀況及投資前景預(yù)測(cè)報(bào)告
- 2025-2030年中國(guó)耐火型電纜產(chǎn)業(yè)十三五規(guī)劃及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2025-2030年中國(guó)緩降器產(chǎn)業(yè)前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 2024廣西公務(wù)員考試及答案(筆試、申論A、B類、行測(cè))4套 真題
- 2024年山東省濟(jì)南市中考英語試題卷(含答案解析)
- 2022年版初中物理課程標(biāo)準(zhǔn)解讀-課件
- 語文七年級(jí)下字帖打印版
- 自然辯證法概論(新)
- 《旅游經(jīng)濟(jì)學(xué)》全書PPT課件
- 安全評(píng)價(jià)理論與方法第五章-事故樹分析評(píng)價(jià)法
- 幼兒園一日活動(dòng)流程表
- 最后一分鐘安全檢查
- 散裝水泥罐體標(biāo)準(zhǔn)資料
- 原發(fā)性肝癌臨床路徑最新版
評(píng)論
0/150
提交評(píng)論