999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Java的射擊游戲的開發與設計

2014-04-29 00:44:03曾令思余婷席一
電腦迷 2014年15期

曾令思 余婷 席一

摘 要 隨著計算機時代的到來,游戲受到人們越來越多的青睞。以單機游戲為背景,探討了射擊類游戲的諸多設計要點,包括體系結構,系統安全等。本游戲是一款休閑益智的射擊游戲。在JAVA的基礎上,極大的優化了代碼,減少了代碼冗余,而且易于查看游戲的運行界面。

關鍵詞 射擊游戲 代碼實現 JAVA游戲系統

中圖分類號:TP311.52 文獻標識碼:A

1系統架構

系統構架主要有兩方面組成,一個是開始界面,另一個是主函數。開始界面主要功能是實現跳轉,在開始界面中也應當具有背景,音樂等。在主函數中,主要調用我方子彈,桃心,我方滅火器,敵方蜜蜂,背景類,音樂類等功能模塊。

(1)在用戶點擊開始界面的“PLAY”按鈕后,可自動跳轉到主游戲界面。這是通過ActionListener實現監聽鍵盤動作的。在GameButton中主要是通過如下方式監聽鍵盤點擊的:

@Override

public void actionPerformed(ActionEvent e) {

if(e.getActionCommand( ).equals("btn")){

close_MainWindows( );

new GameButtonStart( ).showGame( );

return;

(2)實現方在窗體顯示方法中添加關閉監聽:

this.addWindowListener(new closeWindow()); this.setVisible(true);

再在窗體顯示方法外建立關閉窗口方法:

public void close_MainWindows( ) {

this.setVisible(false);}

(3)在游戲中可調用音樂類,實現播放音樂的功能。其主要實現方法是在類外部定義一個Music類,新建一個有音樂的music文件夾,再在主類中調用Music類。

2游戲設計中需要解決的主要問題分析

(1)背景圖層的循環顯示和閃爍。由于背景圖層只有一張圖片,若想讓游戲有移動的真實感,則應當讓圖片一直不停的移動。以圖片為參照物,就會感覺蜜蜂,滅火器的移動更加逼真。另外,圖片初始時會 出現閃爍問題,這時應當調用update()方法消除閃爍。

(2)蜜蜂和滅火器的碰撞。這時,可在我方滅火器的子彈類中,和蜜蜂類中獲取蜜蜂的矩形:

//獲取蜜蜂的矩形

public Rectangle getRectangle(){

return new Rectangle(planeBulletX, planeBulletY, planeBulletWidth, planeBulletHeight);}

3關鍵技術

(1)背景的實現:滾動背景主要通過move()來實現。在主程序調用BackGround類中的draMe(Graphics)時,就會自動的調用move()函數,實現屏幕的滾動播放。

(2)內存的優:很多程序由于沒有采用正確的方法分配和使用內存,不僅占用內存較多,而且運行效率不高。

4游戲的實現

本游戲的開發是在Microsoft Windows 2007操作系統下,使用JAVA語言開發的。

(1)開始界面的實現:用戶進入游戲系統后,首先出現的是開始界。在開始界面中,用戶點擊“PLAY”按鈕,在偵聽到點擊了“PLAY”按鈕后,跳轉到游戲進行界面。

(2)滾動屏幕的實現:在游戲界面中,會出現背景圖片。BackGround的實例化bg的初始化是在GameStart中,并且把GameStart的當前值傳給bg對象,以便于在程序退出時,能夠用主類調用它的退出方法closeWindow。在BackGround類中,設置一個bgwidth 和一個bgHeight分別設置背景圖片的寬和高。再設置一個bgY1 和一個bgY2 用來控制圖片的移動。在BackGround中,寫一個movie()方法,隨著時間的改變而改變。這時,就會出現滾動的屏幕。

(3)主程序的實現:當玩家按下W,A,S,D分別對應的上,左,下,右時,函數Plane類中的move()方法的變量y,x加5或減5。相對應的,滅火器的位置會向上,左,下,右飛行一定距離。當鍵盤松開時,滅火器會停止不動。在moie()方法中,會調用方法location()。

public void location() {

if (bU && !bD && !bL && !bR) {

planeDir = Direction.U;

}

if (!bU && bD && !bL && !bR) {

planeDir = Direction.D;

}

if (!bU && !bD && bL && !bR) {

planeDir = Direction.L;

}

if (!bU && !bD && !bL && bR) {

planeDir = Direction.R;

}

if (!bU && !bD && !bL && !bR) {

planeDir = Direction.STOP;

參考文獻

[1] Bruce Eckel,陳昊鵬.Java編程思想[M].北京:機械工業出版社,2002.

[2] Adam Drozdex,數據結構與算法(Java語言版)[M].北京:機械工業出版社,2003.

[3] Curtis D.Java,RM I and Corba[M].white paper of Object Management Group,1996.

主站蜘蛛池模板: 国产一级α片| 亚洲乱伦视频| 无码一区二区波多野结衣播放搜索 | 欧美另类图片视频无弹跳第一页| 亚洲人成日本在线观看| 找国产毛片看| 亚洲水蜜桃久久综合网站| 亚洲第一国产综合| 在线无码私拍| 日本欧美中文字幕精品亚洲| 狠狠做深爱婷婷久久一区| 亚洲综合第一页| 日韩欧美在线观看| 亚洲婷婷在线视频| 极品国产在线| 亚洲综合久久成人AV| 国产在线八区| 71pao成人国产永久免费视频| 91无码视频在线观看| 亚洲狼网站狼狼鲁亚洲下载| 一级毛片免费的| 香蕉伊思人视频| 亚洲色图欧美视频| 国产香蕉97碰碰视频VA碰碰看| 国产日韩欧美一区二区三区在线| 欧美日韩北条麻妃一区二区| 亚洲午夜综合网| 日韩不卡高清视频| 亚洲天堂网在线观看视频| 福利国产在线| 亚洲中久无码永久在线观看软件| 国产99视频精品免费视频7| 视频一区亚洲| 狼友视频国产精品首页| 福利片91| 青青草国产精品久久久久| 18禁不卡免费网站| 97免费在线观看视频| 极品国产在线| 国产精品成人啪精品视频| 99热这里只有精品久久免费| 亚洲综合色婷婷| 国产高清在线精品一区二区三区 | 99ri精品视频在线观看播放| 国产99精品视频| 欧美激情视频一区| 国产免费好大好硬视频| 色综合久久综合网| 日本高清有码人妻| 国产无遮挡猛进猛出免费软件| 国产91丝袜在线播放动漫 | 国内精品视频在线| 亚洲最大福利视频网| 国产精品亚欧美一区二区| 亚洲精品午夜无码电影网| 欧美精品在线观看视频| 亚洲成人网在线观看| 亚洲第一成年人网站| 久久大香香蕉国产免费网站| 亚洲色图在线观看| 亚洲伊人久久精品影院| 亚洲天堂免费观看| 91成人在线观看视频| 国产成人超碰无码| 国产精品妖精视频| 久久久久人妻一区精品色奶水| 久久先锋资源| 久久福利网| 亚洲首页在线观看| 91视频首页| 97青草最新免费精品视频| 亚洲日韩国产精品无码专区| 欧美a级在线| 国产女人在线观看| 欧美一级视频免费| a级毛片毛片免费观看久潮| 国产精品第一区在线观看| 欧美亚洲第一页| 亚洲精品桃花岛av在线| 国产在线麻豆波多野结衣| 国产精品久久久精品三级| 久久亚洲AⅤ无码精品午夜麻豆|