下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第Java實現(xiàn)簡單的飛機大戰(zhàn)游戲(控制主飛機篇)本文實例為大家分享了Java實現(xiàn)簡單的飛機大戰(zhàn)游戲,控制主飛機的具體代碼,供大家參考,具體內(nèi)容如下
接著上一篇:Java實現(xiàn)簡單的飛機大戰(zhàn)游戲(敵機下落篇),首先我們需要明白,在控制一架飛機的時候,需要通過對鍵盤的監(jiān)聽。上下左右比較簡單,因為是對單一按鍵的監(jiān)聽,在這里我們可以通過switch語句,通過讀取鍵盤上每個按鍵的ASCII值。但是如果想要實現(xiàn)邊飛行邊發(fā)射子彈,又或者是實現(xiàn)斜飛怎么辦?這里就需要通過對多個按鍵的監(jiān)聽。
解決的方法是:單一的方向控制我們還是使用switch語句,但是如果牽扯到2個或2個以上的按鍵監(jiān)聽,我們需要將按鍵設置一下標記位。即按下為真,釋放為假。并且這些處理都是在switchcase語句以外,就可以實現(xiàn)斜飛。然后再對窗體進行重繪,我們就可以看到飛機的坐標在不斷的發(fā)生改變。
如以下代碼所示:
publicclassMovePlaneListenerextendsKeyAdapterimplementsKeyListener{
publicintx,y,flag=0;
publicJFrameframe;
publicbooleanleft=false,right=false,up=false,down=false;
publicGraphicsg;
publicImageimage;
publicintx1,y1,vy=16;
publicVectorBulletvector;
ImageIconicon=newImageIcon("plane/myplane.png");
publicBulletAIba;
publicvoidsetmove(intx,inty,JFrameframe){
this.x=x;
this.y=y;
this.frame=frame;
}
publicMovePlaneListener(){
vector=newVectorBullet
}
publicvoidkeyPressed(KeyEvente){
switch(e.getKeyCode()){
case87://W-上
if(y0){
y=y-3;
up=true;
}
break;
case65://A-左
if(x0){
x=x-3;
left=true;
}
break;
case83://S-下
if(y+icon.getIconHeight()frame.getHeight()){
y=y+3;
down=true;
}
break;
case68://D-右
if(x+icon.getIconWidth()frame.getWidth()){
x=x+3;
right=true;
}
break;
case32://空格-發(fā)射子彈
Bulletbu=newBullet(vector,frame,x,y,vy);
vector.add(bu);
ba=newBulletAI(vector,frame,x,y,vy);
if(flag==0){
ba.start();
flag=1;
}
break;
}
if(x0y0x+icon.getIconWidth()frame.getWidth()
y+icon.getIconHeight()frame.getHeight())
{
if(left==trueup==true){
x=x-3;
y=y-3;
}elseif(left==truedown==true){
x=x-3;
y=y+3;
}elseif(right==trueup==true){
x=x+3;
y=y-3;
}elseif(right==truedown==true){
x=x+3;
y=y+3;
}
}
//System.out.println(x+""+y);
//窗體重繪
frame.repaint();
}
publicvoidkeyReleased(KeyEvente){
switch(e.getKeyCode()){
case87://上
up=false;
break;
case65://左
left=false;
break;
case83://下
down=false;
break;
case68://右
right=false;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年9月國開電大行管??啤渡鐣{(diào)查研究與方法》期末紙質(zhì)考試試題及答案
- 戶外環(huán)境中的緊急情況識別
- 勞資專管員考試試題及答案
- 飼草產(chǎn)品加工工崗前考核試卷及答案
- 新疆和田地區(qū)和田市輔警考試公安基礎知識考試真題庫及答案
- 四平市公務員遴選考試模擬試題及答案
- 醫(yī)師考核口腔試題及答案
- 教育綜合考前模擬卷(二)及答案
- 2025職業(yè)病危害及預防措施試題帶答案
- 音樂學小組考試題及答案
- DB62∕T 4203-2020 云杉屬種質(zhì)資源異地保存庫營建技術規(guī)程
- 年終歲末的安全培訓課件
- 中醫(yī)康復面試題目及答案
- 《人工智能導論》高職人工智能通識課程全套教學課件
- 中華醫(yī)學會麻醉學分會困難氣道管理指南
- 南京旅館住宿管理辦法
- 【香港職業(yè)訓練局(VTC)】人力調(diào)查報告書2024-珠寶、鐘表及眼鏡業(yè)(繁體版)
- 客戶分配管理辦法管理
- 燃氣入戶安檢培訓
- 高中地理思政融合課《全球氣候變暖》
- 2025年中考語文一輪復習:民俗類散文閱讀 講義(含練習題及答案)
評論
0/150
提交評論