版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> **學(xué)院</b></p><p> 本科畢業(yè)論文(設(shè)計(jì))</p><p> 院(系)級(jí)班: ***** </p><p> 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 題 目: ******)
2、 </p><p> 指導(dǎo)教師: *** </p><p> 導(dǎo)師職稱: 講師 </p><p> 學(xué) 號(hào): ***** </p><p> 姓 名: **** &
3、lt;/p><p> 同 組 人: </p><p><b> 宜賓學(xué)院</b></p><p> ____年 月 日</p><p><b> 摘 要</b></p><p> 電子游戲起源于西方,90
4、年代中期刮起了一股電腦游戲旋風(fēng),90年代后期,中國(guó)游戲研發(fā)能力逐步提高,到如今,隨著電子信息技術(shù)高速發(fā)展和它具有互動(dòng)性與模擬性等特征,使得電子游戲漸漸深入人們的日常生活之中,成為了各年齡段都喜愛的一種娛樂方式。</p><p> 然而隨著網(wǎng)絡(luò)游戲的迅速發(fā)展,單擊游戲一直走低,單擊游戲發(fā)展令人堪憂,其實(shí)單擊游戲與網(wǎng)絡(luò)游戲市場(chǎng)并不存在沖突。</p><p> 海底兩萬里是一款小型的射擊類單
5、擊游戲,本游戲設(shè)計(jì)在與傳統(tǒng)的射擊類游戲有著一定的改進(jìn),結(jié)合了STG與RPG類游戲的特點(diǎn),組合成一款伴隨著游戲故事情節(jié)發(fā)展的射擊類游戲,本游戲一共分為了三關(guān),每關(guān)由boss的生命值控制是否進(jìn)入下一關(guān),人物的移動(dòng)控制由鍵盤的W、S、A、D鍵控制。</p><p> 本文闡述了選擇該題的背景,游戲的發(fā)展現(xiàn)狀及分類,游戲開發(fā)的意義。整個(gè)游戲的開發(fā)貫穿軟件工程的知識(shí)體系,從游戲的概述開始,接著可行性分析、需求分析、總體設(shè)
6、計(jì)、詳細(xì)設(shè)計(jì)、對(duì)游戲進(jìn)行軟件測(cè)試,最后對(duì)全文進(jìn)行總結(jié),和對(duì)未來游戲的展望。</p><p> 此款游戲設(shè)計(jì)是在Microsoft Windows 7操作系統(tǒng)下,以Java為開發(fā)語言,在eclipse開發(fā)平臺(tái)上進(jìn)行開發(fā)的。</p><p> 關(guān)鍵詞:java,電子游戲,游戲平臺(tái)、STG、單機(jī)游戲</p><p><b> Abstract</b&
7、gt;</p><p> Electronic game originated in the West, the mid-1990s, has whipped up a whirlwind of the surge of the computer game, the late 1990s, the Chinese game development capabilities gradually increase,
8、 now, with the characteristics of the rapid development of interactive and simulation of electronic and information technology.video games gradually to the people's daily lives, has become a favorite of all ages a fu
9、n way.</p><p> However, with the rapid development of online games, click games have been lower, click on the game development is worrying, in fact there was no conflict-click games and online games market.
10、</p><p> Haideliangmoli is a small shooting-click game, this game design with a traditional shooter with certain improvements, combined with the advantages of STG with an RPG type of game, into a accompanie
11、d by the firing of the game story developmentgames, the game is divided into a total of three tests, each off by the boss of the value of life control to the next level, the characters move the control by the keyboard, W
12、, S, A, D, key control.</p><p> This paper describes the background, select the title game development and classification of the meaning of game development. The entire game development throughout the softw
13、are engineering body of knowledge, from an overview of the game, then the requirements analysis, conceptual design, detailed design, game software testing, and finally to summarize, with the outlook for the future games.
14、</p><p> The game is designed in Microsoft Windows 7 operating system, the Java development language, eclipse development platform for development.</p><p> Key words: java, games, gaming platf
15、orm, stand-alone game</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 第1章 緒 論5</b></p><p>
16、; 1.1 選題背景及意義5</p><p> 1.2 電子游戲的發(fā)展現(xiàn)狀5</p><p> 1.2.1 國(guó)外電子游戲的發(fā)展現(xiàn)狀5</p><p> 1.2.2 國(guó)內(nèi)電子游戲的發(fā)展現(xiàn)狀6</p><p> 1.3 電子游戲的分類7</p><p> 第2章 游戲開發(fā)8</p>&
17、lt;p> 2.1 海底兩萬里游戲概述8</p><p> 2.1.1 游戲故事背景8</p><p> 2.1.2 游戲功能布局8</p><p> 2.1.3 游戲說明8</p><p> 2.1.4 游戲開發(fā)工具說明8</p><p> 2.2 海底兩萬里游戲可行性研究9</p
18、><p> 2.2.1 設(shè)計(jì)目的9</p><p> 2.2.2 軟件問題定義9</p><p> 2.2.3 可行性分析9</p><p> 2.3 海底兩萬里游戲需求分析9</p><p> 2.3.1 市場(chǎng)需求9</p><p> 2.3.2 用戶需求10</p&
19、gt;<p> 2.3.3 功能需求10</p><p> 2.3.4 軟硬件需求10</p><p> 2.4 海底兩萬里游戲總體設(shè)計(jì)10</p><p> 2.4.1 總體功能設(shè)計(jì)10</p><p> 2.4.2 開始界面設(shè)計(jì)11</p><p> 2.4.3 開始對(duì)話界面設(shè)計(jì)
20、11</p><p> 2.4.4 第一關(guān)設(shè)計(jì)11</p><p> 2.4.5 第二關(guān)設(shè)計(jì)12</p><p> 2.4.6 第三關(guān)設(shè)計(jì)12</p><p> 2.4.7 游戲勝利界面12</p><p> 2.5 海底兩萬里游戲詳細(xì)設(shè)計(jì)12</p><p> 2.5.
21、1 窗體的繪制12</p><p> 2.5.2 整個(gè)框架的實(shí)現(xiàn)14</p><p> 2.5.3 各個(gè)功能詳細(xì)設(shè)計(jì)16</p><p> 2.5.4 狀態(tài)模塊設(shè)計(jì)19</p><p> 2.5.5 小怪模塊詳細(xì)設(shè)計(jì)19</p><p> 2.5.6 發(fā)射子彈模塊詳細(xì)設(shè)計(jì)22</p>
22、<p> 2.5.7 爆炸效果模塊詳細(xì)設(shè)計(jì)25</p><p> 2.5.8 音樂加載模塊詳細(xì)設(shè)計(jì)27</p><p> 2.5.9 對(duì)話模塊詳細(xì)設(shè)計(jì)27</p><p> 2.5.10 道具模塊詳細(xì)設(shè)計(jì)28</p><p> 第3章 系統(tǒng)實(shí)現(xiàn)30</p><p> 3.1 系統(tǒng)框架
23、30</p><p> 3.1.1 把將工程打包成jar文件30</p><p> 3.1.2 游戲測(cè)試31</p><p><b> 結(jié) 論32</b></p><p><b> 致 謝33</b></p><p><b> 參考文獻(xiàn)34&
24、lt;/b></p><p><b> 緒 論</b></p><p><b> 選題背景及意義</b></p><p> 游戲已經(jīng)是人們休閑娛樂中不可缺少的一種方式,在隨著社會(huì)的快速發(fā)展,人們的生活節(jié)奏也越來越快,某一時(shí)刻,停下來,玩玩小游戲,放松放松心情是很多人們喜歡的娛樂方式,如果有一天沒有人們?cè)谕嬗螒蛄?/p>
25、,那么可能世界末日就要到了,所以,游戲是現(xiàn)在以及未來人們都離不開的一種娛樂方式。</p><p> 隨著網(wǎng)絡(luò)游戲在中國(guó)的蓬勃發(fā)展,單機(jī)游戲在中國(guó)市場(chǎng)表現(xiàn)一直走低。但是單機(jī)游戲并不是所謂的食之無味棄之可惜的雞肋。單機(jī)游戲還是有很大的市場(chǎng),他們之間并不產(chǎn)生沖突。單機(jī)游戲重劇情、玩家在體驗(yàn)的時(shí)候關(guān)注過程,不需要專門的服務(wù)器便可以正常運(yùn)轉(zhuǎn)游戲,模式多為人機(jī)對(duì)戰(zhàn);而網(wǎng)絡(luò)游戲又稱“在線游戲”,玩家在體驗(yàn)的時(shí)候關(guān)注結(jié)果。網(wǎng)絡(luò)
26、游戲具備長(zhǎng)期性,很多時(shí)候因?yàn)榕笥训纫蛩?,需要大家約好一起游戲,在時(shí)間上相對(duì)被動(dòng)。而單機(jī)游戲時(shí)間完全由自己掌控,重在突破與劇情。通過“2011年4月中國(guó)游戲市場(chǎng)不同平臺(tái)游戲關(guān)注比例分布”得出,電腦單機(jī)游戲占總的63.9%,這充分說明了單機(jī)游戲還是占據(jù)了大部分市場(chǎng)。試想在沒有聯(lián)網(wǎng)的狀態(tài)下,我們想玩游戲,是我們的單機(jī)游戲吧,而且相對(duì)應(yīng)網(wǎng)絡(luò)游戲,我們不需要等待其他的游戲玩家,也不需要長(zhǎng)時(shí)間游戲,時(shí)間完全自己掌控,所以網(wǎng)絡(luò)游戲與單機(jī)游戲并不沖突,
27、單機(jī)游戲應(yīng)該是網(wǎng)絡(luò)游戲的補(bǔ)充,而且完全可以進(jìn)行市場(chǎng)重疊,這是它存在的市場(chǎng)價(jià)值。</p><p> 射擊游戲是指開槍或者開炮的游戲,包括桌面射擊游戲、第一人稱射擊游戲和第三人稱射擊游戲。最早玩的“開坦克”、“雷電”是射擊類游戲的經(jīng)典之作,當(dāng)時(shí)引起了人們的瘋狂追捧。根據(jù)“2011年4月中國(guó)游戲市場(chǎng)不同類型游戲關(guān)注比例分布”,分析得出角色扮演和第一人稱射擊游戲分別占23.8%、11.0%,表面射擊類游戲在眾多游戲中是
28、比較受人們喜愛的。</p><p> 海底兩萬里是一款小型的單機(jī)游戲,適合休閑娛樂。本游戲是模仿了射擊類游戲經(jīng)典之作“雷電”進(jìn)行設(shè)計(jì)的,在雷電基礎(chǔ)之上增加了故事情節(jié),及對(duì)話功能,提高游戲的趣味性。本游戲的開發(fā)意義主要是能提高人們對(duì)單擊游戲的喜愛,能提供在忙碌的人們休閑的時(shí)候娛樂一下。</p><p><b> 電子游戲的發(fā)展現(xiàn)狀</b></p>&l
29、t;p> 電子游戲,又稱電玩游戲,是指人通過電子設(shè)備,如電腦、游戲機(jī)等,進(jìn)行游戲的一種娛樂方式。電子游戲包括:電腦游戲、電視游戲、街機(jī)游戲、便攜游戲。具有互動(dòng)性、模擬性等特征。</p><p> 國(guó)外電子游戲的發(fā)展現(xiàn)狀</p><p> 電子游戲?qū)S脵C(jī)產(chǎn)生于70年代初,起源于美國(guó)。1971年NolanBushnell設(shè)計(jì)出了世界上第一個(gè)業(yè)務(wù)用游戲機(jī)《電腦空間》(Computer
30、Space)。次年,TedDabney成立了Atari公司成為了電子游戲的始祖。開啟了電子游戲發(fā)展道路,使得電子游戲開始作為一種娛樂手段。</p><p> 至今,美國(guó)仍是世界第一大游戲市場(chǎng)。美國(guó)游戲業(yè)所建立的是以開發(fā)商為核心的商業(yè)鏈條。根據(jù)美國(guó)市場(chǎng)調(diào)查公司NPD Group調(diào)查統(tǒng)計(jì),美國(guó)2004年游戲總銷售金額(包括家用、掌上型主機(jī)及軟件)為99億美元,占了全球游戲市場(chǎng)的45%。其中游戲軟件銷售的具體數(shù)字是:
31、視頻游戲軟件的銷售額達(dá)52億美元(1.6億套),PC游戲軟件銷售額達(dá)11億美元(4500萬套),掌機(jī)游戲銷售額達(dá)10億美元(4230萬套)。2004年一共大約有2.48億套游戲售出。據(jù)估計(jì),美國(guó)每個(gè)家庭平均購買過2部游戲[3]。</p><p> 日本近20年來瘋狂賺電子游戲的錢。從上世紀(jì)60年代初的街機(jī),到六七十年代之間的家用游戲機(jī),再到八九十年代的掌上游戲機(jī),日本經(jīng)過30多年的耕耘,終于把電子游戲這棵“搖錢
32、樹”,培育成第一時(shí)尚娛樂產(chǎn)業(yè),壟斷全球業(yè)界長(zhǎng)達(dá)10余年。對(duì)于日本來說,電玩業(yè)已是國(guó)家經(jīng)濟(jì)的重要支柱之一,在GDP中占有1/5的舉足輕重地位。日本游戲業(yè)在最輝煌的1998年,曾經(jīng)占領(lǐng)全球電子游戲市場(chǎng)硬件90%以上,軟件50%以上。</p><p> 韓國(guó)號(hào)稱世界上網(wǎng)絡(luò)游戲產(chǎn)業(yè)最發(fā)達(dá)國(guó)家之一。迄今為止,國(guó)內(nèi)網(wǎng)絡(luò)游戲市場(chǎng)有超過60%的產(chǎn)品來自韓國(guó)游戲軟件開發(fā)商,韓國(guó)網(wǎng)絡(luò)游戲使國(guó)內(nèi)很多游戲運(yùn)營(yíng)公司在游戲營(yíng)銷市場(chǎng)或股票資
33、本市場(chǎng)上獲得了巨大的成功。 韓國(guó)游戲市場(chǎng)的發(fā)展不是偶然,韓國(guó)政府不僅給游戲產(chǎn)業(yè)以正確的定位和引導(dǎo),更是將其和本國(guó)經(jīng)濟(jì)發(fā)展緊密地聯(lián)系到一起,做了很多市場(chǎng)培育方面的工作。韓國(guó)政府認(rèn)識(shí)到,靠重型工業(yè)來支撐全國(guó)經(jīng)濟(jì)的做法是片面的,于是將IT、娛樂產(chǎn)業(yè)視為新的經(jīng)濟(jì)增長(zhǎng)點(diǎn),開始大力扶持。從那時(shí)起,科技含量極高而能源消耗極低的游戲制作及相關(guān)產(chǎn)業(yè)擔(dān)負(fù)起了“富國(guó)興邦”的重?fù)?dān)。由文化觀光部出面組建韓國(guó)游戲支援中心,向韓國(guó)游戲產(chǎn)業(yè)提供從資金到技術(shù)上的多方面支
34、援;成立游戲投資聯(lián)盟,政府每年向游戲產(chǎn)業(yè)投入的資金多達(dá)500億韓元,并為游戲企業(yè)提供長(zhǎng)期的低息貸款;設(shè)立信息化基金和文化產(chǎn)業(yè)基金,為游戲產(chǎn)業(yè)服務(wù);對(duì)指定的風(fēng)險(xiǎn)企業(yè)實(shí)行各種稅制優(yōu)惠政策,減少甚至免除游戲企業(yè)的稅務(wù)負(fù)擔(dān);建設(shè)游戲產(chǎn)業(yè)基地以扶持中小游戲企業(yè)的發(fā)展;對(duì)從事游戲產(chǎn)業(yè)的高科技人才免除兩年的兵役。 在韓國(guó),從制作到運(yùn)營(yíng),一個(gè)網(wǎng)絡(luò)游戲公司起步門檻較低,主要得益于政府實(shí)行的援助計(jì)劃。此外,在有</p><p>
35、國(guó)內(nèi)電子游戲的發(fā)展現(xiàn)狀</p><p> 電子游戲發(fā)達(dá)的國(guó)家相比,我國(guó)在電子游戲方面還存在比較大的差距。目前,我國(guó)游戲市場(chǎng)正處于發(fā)展階段,但市場(chǎng)上的游戲軟件主要來自日本、美國(guó)、韓國(guó)等地,但由本土游戲制作人開發(fā)創(chuàng)作的游戲正在高速增加,國(guó)產(chǎn)原創(chuàng)的游戲即將成為游戲的主流。</p><p> 中國(guó)的游戲產(chǎn)業(yè)經(jīng)過80年代初期臺(tái)灣廠商的探索至90年代,開始了自己的研發(fā)、發(fā)行的歷程,直至網(wǎng)絡(luò)游戲的風(fēng)
36、行,讓中國(guó)的網(wǎng)絡(luò)游戲開始有了飛速的發(fā)展。 1983年,智冠科技有限公司在中國(guó)臺(tái)灣成立,為全球第一家簽訂授權(quán)重制中文版產(chǎn)品代理銷售合約的公司,2000年智冠在臺(tái)灣股票上市, 2002年其控股的中華網(wǎng)龍?jiān)谂_(tái)灣上市。</p><p> 1996年底,UBI SOFT上海分公司暨上海育碧電腦軟件有限公司成立。同年,全球游戲軟件領(lǐng)軍企業(yè)EA在中國(guó)上海成立辦事處。1997年,由尚洋公司制作的《血獅》正式上市。 1997年,
37、北京新天地互動(dòng)多媒體技術(shù)有限公司成立,該公司引進(jìn)了《古墓麗影III》(TombRaider III)、《盟軍敢死隊(duì)》等著名歐美游戲,并在1999年在中國(guó)率先掀起“游戲軟件價(jià)格革命”,全面推行50元的價(jià)格體系,從此正版游戲價(jià)格開始貼近大眾消費(fèi)者。 1999年,業(yè)內(nèi)估算中國(guó)電腦游戲市場(chǎng)(正版)約1.5億元人民幣。 2000年,大陸華彩軟件代理發(fā)行第一款中文MMORPG《萬王之王》正式推出,該游戲于1999年在臺(tái)灣發(fā)行,由臺(tái)灣雷爵資訊(Lag
38、er)開發(fā)。也在2000年,繼《萬王之王》、《石器時(shí)代》、《網(wǎng)絡(luò)三國(guó)》在臺(tái)灣上市之后,游戲桔子推出了《天堂》,游戲桔子成立于1995年,1999年以《便利店》在臺(tái)灣奠定了地位?!短焯谩愤@款由韓國(guó)著名游戲公司Ncsoft研發(fā)的網(wǎng)絡(luò)游戲不但在本國(guó)大獲成功,也在臺(tái)灣再次奪冠。 2001年初,北京華義在中國(guó)大陸地區(qū)正式推出了《石器時(shí)代》,華義國(guó)際股份有限公司于1993年在臺(tái)北成立,</p><p> 2005年1月21
39、日,中央電視臺(tái)報(bào)道:我國(guó)網(wǎng)絡(luò)游戲產(chǎn)業(yè)當(dāng)年增加了50%,今后幾年都將以50%以上的速度增長(zhǎng);第一屆中國(guó)網(wǎng)絡(luò)游戲年會(huì)報(bào)道:中國(guó)國(guó)內(nèi)網(wǎng)絡(luò)游戲2004年規(guī)模達(dá)24.7億元,2009年規(guī)模將達(dá)到109.6億元。</p><p><b> 電子游戲的分類</b></p><p> 現(xiàn)階段電子游戲樣式多種多樣,有著多種分類方式。根據(jù)運(yùn)行不同平臺(tái)分類,電子游戲分為網(wǎng)絡(luò)游戲與單機(jī)游
40、戲。根據(jù)不同類型游戲分為,角色扮演游戲RPG、動(dòng)作游戲ACT、冒險(xiǎn)游戲AVG、策略游戲SLG、即時(shí)戰(zhàn)略游戲RTS、格斗游戲FTG、射擊類游戲STG、第一人稱視覺射擊類游戲FPS、益智類游戲PZL。游戲的分類沒有一個(gè)統(tǒng)一的規(guī)范,本文中,對(duì)于有些的分類主要是以上兩種分類來討論與運(yùn)用。</p><p><b> 游戲開發(fā)</b></p><p><b> 海底
41、兩萬里游戲概述</b></p><p><b> 游戲故事背景</b></p><p> 本游戲的故事情節(jié)由本人編排的,純屬虛構(gòu)。主要講述了這樣的一個(gè)故事:在很久以前,王子(殘雪)和朵兒公主相愛,但是在另外的一片海域住著一條惡龍(亞瑟),在一次王子與公主約會(huì)的時(shí)候,惡龍搶走了公主并逼著公主與之成親,這時(shí)王子就踏上了海底兩萬里的艱辛路程,去營(yíng)救自己心愛的
42、公主,在此路程中受到了重重阻礙,但是在其中也得到了一些朋友的幫助,最終營(yíng)救公主成功,過上了幸福的生活?!昂5變扇f里”主要以這個(gè)故事為背景。</p><p><b> 游戲功能布局</b></p><p> 海底兩萬里是一款STG射擊類游戲,由玩家控制人物(主要是飛機(jī))完成任務(wù)過關(guān)的游戲,游戲一共設(shè)置三關(guān),只有通過一關(guān)才能進(jìn)入下一關(guān)。本游戲有如下功能:</p&
43、gt;<p> 1、在游戲開始界面,顯示公主被劫持對(duì)話,按enter鍵進(jìn)入游戲。</p><p> 2、闖關(guān)、共三關(guān)(如果失敗,跳入游戲失敗界面)在每關(guān)打死小怪的個(gè)數(shù)到達(dá)一定數(shù)目就會(huì)出現(xiàn)boss,在boss出現(xiàn)之后會(huì)有一些列的對(duì)話。每關(guān)只有打敗boss之后才能進(jìn)入下一關(guān)。</p><p> 3、游戲結(jié)束且營(yíng)救成功,顯示對(duì)話框,公主成功被營(yíng)救,并且公主嫁給了勇士,永遠(yuǎn)幸福
44、,快樂的生活著。</p><p> 4、增強(qiáng)游戲功能,比如超級(jí)子彈、游戲幫助、游戲暫停、靜音、調(diào)節(jié)聲音大小等功能。</p><p><b> 游戲說明</b></p><p> 幫助說明:移動(dòng)人物采用鍵盤監(jiān)聽事件,由W、S、A、D控制上、下、左、右移動(dòng)。F1鍵控制是否查看幫助,J、K鍵控制發(fā)射子彈與超級(jí)子彈,ENTER鍵控制游戲的開始。&
45、lt;/p><p><b> 游戲開發(fā)工具說明</b></p><p><b> Java語言</b></p><p> 本游運(yùn)用java語言進(jìn)行編程,Java最初被命名為Oak,是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,是由Sun Microsystems公司于1995年5月推出的。Java 技術(shù)具有卓越的
46、通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺(tái)、 之中。所以java對(duì)于一個(gè)游戲來說意味著是非常成熟的語言,而且java作為平臺(tái),極大的方便了游戲腳本的使用。</p><p><b> JDK 1.6</b></p><p> JDK(Java Development Kit)是Sun Microsystems針對(duì)Java開發(fā)的產(chǎn)品。
47、JDK 是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境,Java工具和Java基礎(chǔ)的類庫。沒有JDK的話,無法安裝或者運(yùn)行java程序。</p><p><b> Eclipse</b></p><p> Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。它主要由Eclipse
48、項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成——Eclipse Platform、JDT、CDT和PDE。JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來支持插件開發(fā),Eclipse Platform則是一個(gè)開放的可擴(kuò)展IDE,提供了一個(gè)通用的開發(fā)平臺(tái)。</p><p> 海底兩萬里游戲可行性研究</p><p><b> 設(shè)計(jì)目
49、的</b></p><p> 為了鞏固和加深自己所學(xué)知識(shí),能進(jìn)入一步理解J2ME,運(yùn)用所學(xué)軟件工程知識(shí)體系,設(shè)計(jì)游戲開發(fā)思路,運(yùn)用java語言進(jìn)行編程,能提高自己對(duì)java語言更進(jìn)一步理解,從而達(dá)到理論與實(shí)際向結(jié)合。</p><p><b> 軟件問題定義</b></p><p> 基本要求:本游戲開發(fā)主要是實(shí)現(xiàn)了游戲界面美觀
50、性、可操作性、和趣味性。本游戲遵循軟件工程開發(fā)過程,運(yùn)用JAVA GUI編程來實(shí)現(xiàn)界面及事件的控制。用戶根據(jù)鍵盤上的W、S、A、D四建分別控制人物的上、下、左、右移動(dòng),通過J、K發(fā)射子彈,運(yùn)用一個(gè)變量控制進(jìn)入各種狀態(tài)。</p><p> 限制:由于本人所學(xué)知識(shí)不是很完善,整個(gè)游戲結(jié)構(gòu)比較簡(jiǎn)單,功能不是很強(qiáng)大,希望能在以后的學(xué)習(xí)中,能增加游戲的功能,把游戲做成網(wǎng)絡(luò)和3D的。</p><p>
51、; 可行性研究方法:通過研究電子游戲的歷史、了解電子游戲的發(fā)展?fàn)顟B(tài)和目前射擊類游戲的發(fā)展現(xiàn)狀,確定了本游戲的主題及游戲類型,利用自己所學(xué)知識(shí),參考以前開發(fā)人員設(shè)計(jì)思路,設(shè)計(jì)出了一款比較小型的海底兩萬里游戲。</p><p> 評(píng)價(jià)尺度:本游戲是一款小型游戲,對(duì)軟件及編程人員要求不高,能達(dá)到射擊游戲的基本要求,能實(shí)現(xiàn)通過要求等即可。</p><p><b> 可行性分析<
52、;/b></p><p> 技術(shù)可行性:游戲開發(fā)有很多種編程語言,但是介于各種語言的優(yōu)缺點(diǎn),最終選擇了java語言進(jìn)行游戲開發(fā),采用JAVA GUI編程來實(shí)現(xiàn)界面及事件的控制。</p><p> 經(jīng)濟(jì)可行性:本游戲是一款小游戲,能在人們休閑娛樂的時(shí)候玩一下,不存在經(jīng)濟(jì)問題,源代碼開發(fā),只要能運(yùn)行程序即可。</p><p> 社會(huì)可行性:本游戲的開發(fā)主要用
53、于畢業(yè)設(shè)計(jì),對(duì)社會(huì)不會(huì)造成影響。</p><p> 海底兩萬里游戲需求分析</p><p><b> 市場(chǎng)需求</b></p><p> 隨著社會(huì)的發(fā)展,網(wǎng)絡(luò)逐漸成為我們生活中必不可少的工具,隨著網(wǎng)絡(luò)技術(shù)的普及,使得在游戲的發(fā)展歷程中,網(wǎng)絡(luò)游戲風(fēng)靡全球,在網(wǎng)絡(luò)游戲盛行的年代,我們的單機(jī)游戲存在危機(jī),但是單機(jī)游戲和網(wǎng)絡(luò)游戲是不產(chǎn)生沖突的,有
54、著各自的市場(chǎng),是相互相乘的。</p><p><b> 用戶需求</b></p><p> 隨著社會(huì)的進(jìn)步,人們的生活水平逐漸提高,在物質(zhì)生活水平滿足之后,更多的是追求精神上和娛樂上的追求?,F(xiàn)在的社會(huì)追求的是快節(jié)奏的生活,人們都是在一個(gè)高壓狀態(tài)上,如能在快節(jié)奏的生活上,偶爾來一段小游戲,放松一下自己的思想,也不需等自己的朋友一起,能單獨(dú)的享受其中的樂趣,是多么的悠
55、閑,快活的一件事。所以,開發(fā)的這款小游戲,是適合人們?cè)谛蓍e娛樂的時(shí)候,打一盤游戲放松一下心情。</p><p><b> 功能需求</b></p><p> 此款游戲,打破了傳統(tǒng)STG( Shooting Game:射擊類游戲,指純的飛機(jī)射擊),由玩家控制各種飛行物(主要是飛機(jī))完成任務(wù)或過關(guān)的游戲。在傳統(tǒng)的STG游戲上,增加了一個(gè)游戲的整個(gè)故事環(huán)節(jié),更加的賦予感
56、情色彩,增加了人物對(duì)話功能,能實(shí)現(xiàn)選擇道具、裝備等功能,總之,此款游戲是綜合了STG、RPG游戲的優(yōu)點(diǎn),附有人性化的設(shè)計(jì)。</p><p><b> 軟硬件需求</b></p><p> 操作系統(tǒng):Microsoft Windows 7</p><p><b> 內(nèi)存:2G</b></p><p&
57、gt;<b> 硬盤:320G</b></p><p> CPU:Intel Core 2 Duo T6670</p><p> 交互工具:鍵盤/鼠標(biāo)</p><p> 顯示器:LED顯示器</p><p> JDK版本:jdk1.6.0.02</p><p> Eclipse版本:e
58、clipse-SDK-3.4-win32</p><p> 海底兩萬里游戲總體設(shè)計(jì)</p><p><b> 總體功能設(shè)計(jì)</b></p><p> 該游戲是闖關(guān)游戲,一共分為三關(guān),只有通過了前一關(guān)才能進(jìn)入下一關(guān),每關(guān)由boss的生命值HP進(jìn)行判斷是否進(jìn)入下一關(guān),當(dāng)?shù)谌P(guān)的boss生命值HP=0時(shí),游戲勝利,當(dāng)主人公生命值HP=0時(shí),游戲
59、失敗。如圖:</p><p><b> 開始界面設(shè)計(jì)</b></p><p> 在開始界面,顯示“海底兩萬里”游戲名字,啟動(dòng)音樂線程,用閃爍的字體提示“按Enter鍵,進(jìn)入游戲”??梢园碏1進(jìn)行查看游戲幫助。</p><p><b> 開始對(duì)話界面設(shè)計(jì)</b></p><p> 在進(jìn)入游戲
60、的時(shí)候,顯示王子與惡龍的談話內(nèi)容,在顯示完之后提示“按Enter鍵,開始游戲”,此時(shí),惡龍和公主消失在屏幕上,等待著王子去營(yíng)救公主,海底兩萬里的艱辛路程就開始了?;蛘邽榱吮苊庹勗拑?nèi)容太繁瑣,可以直接選擇“按Enter鍵,可以直接跳過對(duì)話”。</p><p><b> 第一關(guān)設(shè)計(jì)</b></p><p> 1、左上角顯示“按F1查看幫助、殘雪的HP用矩形條框來顯示,
61、超級(jí)子彈數(shù)目、打死小怪的數(shù)目”。</p><p> 2、在屏幕中上顯示“第幾關(guān)”,得分?jǐn)?shù)。</p><p> 3、在boss出現(xiàn)后,在最右邊顯示“boss的HP”。</p><p> 4、小怪是隨機(jī)產(chǎn)生的rd.nextInt(20)>=19。</p><p> 5、小怪也能發(fā)射子彈。如果主人公殘雪被擊中,相應(yīng)的生命值要減少。&l
62、t;/p><p> 6、在打死一定的小怪時(shí),出現(xiàn)相應(yīng)的道具。比如打死20個(gè)小怪時(shí)出現(xiàn)一個(gè)“加血”道具。出現(xiàn)一個(gè)“加血”道具后,相應(yīng)的怒氣也積累,當(dāng)怒氣積累到了一定的數(shù)量時(shí)出現(xiàn)“加超級(jí)子彈”的道具。而“無敵狀態(tài)”的道具隨機(jī)產(chǎn)生,這時(shí)當(dāng)主人公吃到這個(gè)道具時(shí),保持10秒的無敵狀態(tài)。</p><p> 7、主人公用J鍵發(fā)射子彈,打死小怪時(shí)產(chǎn)生爆炸效果,當(dāng)小怪或boss射中主人公時(shí)也會(huì)產(chǎn)生不同的爆炸
63、效果。</p><p> 8、當(dāng)主人公殘雪的HP=0時(shí),游戲結(jié)束,顯示游戲結(jié)束界面,提示“按Enter鍵,重新開始游戲”。此時(shí)游戲界面調(diào)至“游戲開始界面”可以重新開始游戲。</p><p> 9、當(dāng)打死小怪的數(shù)量達(dá)到一定數(shù)量時(shí),出現(xiàn)boss,此時(shí)屏幕清屏,出現(xiàn)情景對(duì)話,主人公與東海三太子的對(duì)話內(nèi)容,此時(shí)兩者都可以相互動(dòng),但是都不能向?qū)Ψ桨l(fā)射子彈。如果不想看對(duì)話內(nèi)容可以按Enter鍵跳過
64、。</p><p> 10、當(dāng)對(duì)話結(jié)束時(shí),由主人公對(duì)戰(zhàn)三太子,此時(shí)三太子發(fā)射的子彈十分有威力,三太子的生命值是固定的,當(dāng)生命值為零的時(shí)候,為通過第一關(guān)。</p><p><b> 第二關(guān)設(shè)計(jì)</b></p><p> 1、當(dāng)通過第一關(guān)時(shí),可以用得到的分?jǐn)?shù),換裝備。</p><p> 2、進(jìn)入第二關(guān)時(shí),與第一關(guān)屏幕
65、上顯示的都差不多。</p><p> 3、與第一關(guān)相比,小怪的種類增加,一共兩種小怪,每種小怪自己會(huì)隨機(jī)的發(fā)射子彈,增加了通關(guān)的難度。</p><p> 4、道具的出現(xiàn)還是按原來的規(guī)則。 </p><p> 5、當(dāng)積分到達(dá)一定分?jǐn)?shù)時(shí),增加一個(gè)“加子彈威力”道具出現(xiàn)。</p><p> 6、還是與第一關(guān)一樣,當(dāng)打死小怪?jǐn)?shù)目到規(guī)定數(shù)目時(shí),
66、出現(xiàn)boss,其后與第一關(guān)7、8、9、10項(xiàng)介紹一樣。</p><p><b> 第三關(guān)設(shè)計(jì)</b></p><p> 1、在第一關(guān)與第二關(guān)的基礎(chǔ)上,增加了一些新功能。</p><p> 2、第三關(guān),又增加了一種小怪,一共隨機(jī)出現(xiàn)的小怪有三種。</p><p> 3、終極boss的出現(xiàn),生命值加長(zhǎng),增加游戲過關(guān)的
67、難度。</p><p><b> 游戲勝利界面</b></p><p> 1、當(dāng)勝利通過三關(guān),打敗了終極boss后,出現(xiàn)游戲勝利界面。</p><p> 2、展示主人公救得公主,過上了快樂幸福的生活。</p><p> 3、屏幕上的字,一個(gè)一個(gè)的顯示出來。</p><p> 海底兩萬里游
68、戲詳細(xì)設(shè)計(jì)</p><p><b> 窗體的繪制</b></p><p> 新建一個(gè)java項(xiàng)目,取名game29。在src源文件下創(chuàng)建com.zuxia包。步驟如下:</p><p> 1、創(chuàng)建一個(gè)Tool類,用來定義窗體的大小,和定義方法用來獲取圖片,具體代碼如下:</p><p> package com.
69、zuxia; 包文件</p><p> import java.awt.Image;</p><p> import java.awt.Toolkit;</p><p> public class Tool {</p><p> public static final int WIDTH = 900; //窗體
70、的長(zhǎng)度</p><p> public static final int HEIGHT = 600;//窗體的寬度</p><p><b> /**</b></p><p> * 定義靜態(tài)方法,用來獲取圖片</p><p><b> */</b></p><p>
71、static Toolkit tool = Toolkit.getDefaultToolkit();</p><p> public static Image getImage(String imgURL) {</p><p> return tool.getImage( GameStart.class.getClassLoader().getResource(</p>
72、<p> "images/" + imgURL));</p><p><b> }</b></p><p><b> }</b></p><p> 2、創(chuàng)建一個(gè)GameStart類,繼承Frame類。</p><p> public class GameSta
73、rt extends Frame {}。</p><p> 3、創(chuàng)建工具箱的一個(gè)對(duì)象</p><p> Tool tools = new Tool();</p><p> 4、定義一個(gè)方法,來設(shè)置窗體的屬性</p><p> public void init() {</p><p><b> //
74、設(shè)置標(biāo)題</b></p><p> this.setTitle("海底兩萬里");</p><p><b> // 設(shè)置窗體大小</b></p><p> this.setSize(tools.WIDTH, tools.HEIGHT);</p><p><b> // 設(shè)
75、置窗體居中</b></p><p> this.setLocationRelativeTo(null);</p><p> // 禁用最大化按鈕</p><p> this.setResizable(false);</p><p><b> // 設(shè)置窗體顯示</b></p><p
76、> this.setVisible(true);</p><p><b> // 設(shè)置窗體監(jiān)聽</b></p><p> this.addWindowListener(new WindowAdapter() {</p><p> public void windowClosing(WindowEvent e) { // 用戶關(guān)閉窗
77、體時(shí),執(zhí)行此方法</p><p> System.exit(0);</p><p><b> }</b></p><p><b> });</b></p><p><b> }</b></p><p><b> 整個(gè)框架的實(shí)現(xiàn)<
78、/b></p><p> 在制作出窗體了,我們?nèi)绾螌?shí)現(xiàn)圖片的顯示和音樂的啟動(dòng)呢?整個(gè)框架的達(dá)成根據(jù)如下步驟:</p><p> 在窗體上繪制背景圖片</p><p><b> 開始背景圖片繪制</b></p><p> 重新定義paint()方法</p><p> public v
79、oid paint(Graphics g) {</p><p> g.drawImage(tools.getImage("begin.jpg"), 0, 0, tools.WIDTH,</p><p> tools.HEIGHT, null);</p><p><b> }</b></p><p&g
80、t;<b> 每關(guān)背景圖片繪制</b></p><p> 顯示背景圖片流程如下圖:</p><p> 定義drawBackGround方法,實(shí)現(xiàn)背景圖片的繪制</p><p> public void drawBackGround(Graphics g) {</p><p> String bgString =
81、 "背景1.jpg"; // 定義變量bgString用來存儲(chǔ)每關(guān)背景圖片,默認(rèn)第一關(guān)。</p><p> if (tollgate == 2) {</p><p> bgString = "背景2_副本.jpg";}</p><p> else if (tollgate == 3) {</p><p
82、> bgString = "背景31.jpg";}</p><p><b> }</b></p><p> 讓圖片動(dòng)起來,達(dá)到動(dòng)態(tài)效果</p><p> bjpoint = 0 定義一個(gè)int型變量控制背景圖片的顯示橫坐標(biāo)</p><p> Image bj = t
83、ools.getImage(bgString);</p><p> 創(chuàng)建兩個(gè)圖片對(duì)象,用來獲取當(dāng)前背景圖</p><p> Image bj2 = tools.getImage(bgString);</p><p> g.drawImage(bj, -bjpoint, 0, tools.WIDTH, tools.HEIGHT, null);</p>
84、<p> g.drawImage(bj2, tools.WIDTH - bjpoint, 0, tools.WIDTH, tools.HEIGHT,</p><p><b> null);</b></p><p> bjpoint += 5; 坐標(biāo)以5的速度自加,實(shí)現(xiàn)圖片的動(dòng)態(tài)</p><p>
85、if (bjpoint >= tools.WIDTH) {</p><p> bjpoint = 0;</p><p><b> }</b></p><p><b> 解決屏幕閃爍問題</b></p><p> class GameThread extends Thread {
86、 定義多線程,用來刷屏</p><p> public void run() {</p><p> while (true) {</p><p> repaint();</p><p><b> move();</b></p><p><b> try {</b
87、></p><p> Thread.sleep(50);</p><p> } catch (InterruptedException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }
88、</b></p><p><b> }</b></p><p> public void update(Graphics g) { 重寫update()方法</p><p> Image bufferImg = this.createImage(tools.WIDTH, tools.HEIGHT);</p
89、><p> // 獲取虛擬畫布上面的一直筆</p><p> Graphics bufferg = bufferImg.getGraphics();</p><p> // 傳遞虛擬的畫筆,在虛擬窗體上繪制圖形</p><p> paint(bufferg);</p><p> // 最后將虛擬的畫布,一次性的繪
90、制在窗體上</p><p> g.drawImage(bufferImg, 0, 0, null);</p><p><b> }</b></p><p><b> 人物的繪制與控制</b></p><p> 主人公殘雪的控制由鍵盤的W、A、S、D鍵分別控制上、左、下、右四個(gè)方向的移動(dòng)。J、
91、K鍵分別用來發(fā)射子彈和超級(jí)子彈。(設(shè)置鍵盤的監(jiān)聽事件)</p><p><b> 音樂的加載</b></p><p> 創(chuàng)建一個(gè)播放音樂類PlaySound,定義播放音樂的方法與屬性。</p><p> 當(dāng)執(zhí)行游戲時(shí),開始播放背景音樂。</p><p> 創(chuàng)建線程GameThread gt = new GameT
92、hread();</p><p> 創(chuàng)建音樂播放對(duì)象,啟動(dòng)線程PlaySound ps = new PlaySound("BGM_0001.mp3", true);</p><p><b> 各個(gè)功能詳細(xì)設(shè)計(jì)</b></p><p><b> 游戲開始功能</b></p><p
93、> 由鍵盤監(jiān)聽事件,當(dāng)按下Enter鍵時(shí),開始游戲,進(jìn)入對(duì)話界面,顯示對(duì)話結(jié)束后,還需按Enter鍵開始游戲,如需跳過按Enter鍵,直接進(jìn)入游戲第一關(guān)。設(shè)計(jì)流程如下圖:</p><p><b> 產(chǎn)生效果如圖:</b></p><p> 這是游戲開始的對(duì)話界面</p><p><b> 相關(guān)代碼:</b>&
94、lt;/p><p> GameFrame.this.enter_count += 1;</p><p> if (((GameFrame.this.enter_count == 3) && (GameFrame.this.state == 3)) || ((GameFrame.this.enter_count == 3) && (GameFrame.this
95、.state == 4)))</p><p><b> {</b></p><p> GameFrame.this.clearup();</p><p><b> }</b></p><p> if (GameFrame.this.enter_count == 1)</p>&
96、lt;p><b> {</b></p><p> GameFrame.this.state = 1;</p><p><b> return;</b></p><p> }if (GameFrame.this.enter_count != 2)</p><p><b> r
97、eturn;</b></p><p> GameFrame.this.state = 2;</p><p><b> break;</b></p><p><b> 幫助功能實(shí)現(xiàn)</b></p><p> 當(dāng)進(jìn)入游戲時(shí),玩家如果不明白如何操作游戲,可以按F1進(jìn)入游戲幫助界面,按E
98、SC鍵退出幫助界面。</p><p><b> 部分代碼如下:</b></p><p> case VK_F1:</p><p> GameFrame.this.state = 5;</p><p> if (this.state == 5)</p><p><b> {<
99、;/b></p><p> g.drawImage(Tools.getImage("help.png"), 0, 0, 900, 600, null); 顯示幫助</p><p><b> }</b></p><p><b> 暫停功能實(shí)現(xiàn)</b></p><p&g
100、t; 當(dāng)需要暫停游戲時(shí),有Space鍵控制。</p><p><b> 代碼如下:</b></p><p> case VK_SPACE:</p><p> if (!GameFrame.this.isPause.booleanValue())</p><p><b> {</b><
101、/p><p> GameFrame.this.game_thread.stop();</p><p> GameFrame.this.isPause = Boolean.valueOf(true);</p><p><b> return;</b></p><p><b> }</b></
102、p><p> GameFrame.this.game_thread=newGameFrame.GameThread(GameFrame.this);</p><p> GameFrame.this.game_thread.start();</p><p> GameFrame.this.isPause = Boolean.valueOf(false);</p
103、><p><b> break;</b></p><p><b> 靜音功能實(shí)現(xiàn)</b></p><p><b> 矩形框顯示HP功能</b></p><p><b> 閃爍字實(shí)習(xí)功能</b></p><p><b>
104、 狀態(tài)模塊設(shè)計(jì)</b></p><p> 游戲設(shè)計(jì)是個(gè)復(fù)雜繁瑣的事情,所以,把游戲分為了幾種狀態(tài),這樣能快速的讓讀者明白其中的設(shè)計(jì)原理。</p><p> 游戲一共設(shè)計(jì)了5中狀態(tài),用state表示,分別表示如下:</p><p><b> 小怪模塊詳細(xì)設(shè)計(jì)</b></p><p> 游戲一共分為三關(guān)
105、,每一關(guān)小怪的出現(xiàn)順序、出現(xiàn)的總類、出現(xiàn)的數(shù)量都不一樣,比如第一關(guān)出現(xiàn)一種小怪,第二關(guān)出現(xiàn)兩種小怪,第三關(guān)出現(xiàn)三種小怪?,F(xiàn)就針對(duì)整個(gè)游戲的小怪模塊做一個(gè)詳細(xì)說明。</p><p><b> 小怪的出現(xiàn)控制設(shè)計(jì)</b></p><p> 小怪的出現(xiàn)流程設(shè)計(jì),如盒圖:</p><p> 盒圖顯示是以“關(guān)數(shù)”控制小怪的出現(xiàn),定義了三個(gè)方法,其中
106、顯示小怪的這些方法語句重復(fù)運(yùn)用,造成了數(shù)據(jù)的冗余。為了讓數(shù)據(jù)清晰明了,減少數(shù)據(jù)的冗余,只需定義一個(gè)方法,用“關(guān)數(shù)”控制每關(guān)需要出現(xiàn)的小怪。如下盒圖:</p><p><b> 詳細(xì)設(shè)計(jì)步驟</b></p><p> ?。?)、因?yàn)橛螒蛑械娜宋锉热缯f小怪、主人公、boss等都具有一定相同的特征及屬性,所以創(chuàng)建一個(gè)Monster類,來定義人物的一些屬性及方法。</
107、p><p> (2)、定義小怪顯示方法</p><p> public void paintMonster(Graphics g){};</p><p> ?。?)、控制小怪出現(xiàn)的數(shù)量</p><p> Random rd = new Random();// 定義一個(gè)隨機(jī)數(shù)</p><p> this.rd.nex
108、tInt(100) >= 97 - this.tollgate //用關(guān)數(shù)控制顯示數(shù)量的多少,關(guān)數(shù)越大,顯示的小怪越多。</p><p> 每關(guān)小怪出現(xiàn)的效果圖</p><p> 只有一種小怪出現(xiàn),并且小怪本身也能發(fā)射子彈。</p><p> 第二關(guān)出現(xiàn)兩種小怪。</p><p> 第三關(guān)出現(xiàn)三種小怪,增加游戲的難度。</
109、p><p> 發(fā)射子彈模塊詳細(xì)設(shè)計(jì)</p><p> 在本游戲中,每個(gè)人物都涉及到了子彈的發(fā)射,比如:主人公的子彈發(fā)射是由玩家控制,而小怪和boss的子彈發(fā)射是隨機(jī)控制的。但是每個(gè)人物的子彈發(fā)射都有一些相同的屬性,我們把它歸結(jié)為一類,創(chuàng)建一個(gè)Bullet類。</p><p> public class Bullet {} 定義子彈的屬性和方法</
110、p><p> 1、子彈的移動(dòng)方法設(shè)計(jì):</p><p> 2、子彈射擊功能設(shè)計(jì):</p><p> 如圖所示:好的子彈是玩家發(fā)射的,用來射擊敵人boss和小怪,壞的子彈是敵人發(fā)射的用來殺主人公。如果子彈生命結(jié)束及生命是死的,則清除裝在子彈集合列表中的數(shù)量,從此消失。</p><p><b> 3、子彈生命設(shè)計(jì)</b>
111、</p><p><b> 4、超級(jí)子彈</b></p><p> 當(dāng)主人公吃到了加超級(jí)子彈道具時(shí),保存一個(gè)超級(jí)子彈在集合中。玩家按K鍵能發(fā)射超級(jí)子彈,超級(jí)子彈向八個(gè)方向發(fā)射,威力無窮。詳細(xì)設(shè)計(jì)步驟如下:</p><p> ?。?)、設(shè)置一個(gè)集合用來存儲(chǔ)超級(jí)子彈數(shù)量</p><p> 默認(rèn) int super_bu
112、llet = 0;</p><p> ?。?)、設(shè)置鍵盤監(jiān)聽事件,如果按下K鍵,并且super_bullet!=0時(shí)啟動(dòng)爆炸效果聲音線程。new MusicThread("Explode.mp3", false).start()</p><p> ?。?)、創(chuàng)建八個(gè)子彈對(duì)象,分別向著八個(gè)方向發(fā)射</p><p> (4)、每按一次K鍵,存儲(chǔ)在s
113、uper_bullet中的數(shù)量少1。</p><p><b> 超級(jí)子彈發(fā)射時(shí)</b></p><p><b> 超級(jí)子彈發(fā)射后</b></p><p> 爆炸效果模塊詳細(xì)設(shè)計(jì)</p><p> 在游戲中,當(dāng)主人公殘雪擊中了小怪或者boss時(shí),出現(xiàn)碰撞爆炸效果,而當(dāng)小怪和boss發(fā)射的子彈時(shí)
114、也將發(fā)射碰撞爆炸效果。</p><p><b> 定義爆炸類</b></p><p> public class Boom</p><p><b> {</b></p><p> public int x;</p><p> public int y;</p&
115、gt;<p> public Image[] boomimage = { Tools.getImage("bao001.png"), Tools.getImage("bao002.png"), Tools.getImage("bao003.png"), Tools.getImage("bao004.png") };</p>&l
116、t;p> public boolean isLive = true; public int index = 0;</p><p> public Boom(int x, int y) { this.x = x; this.y = y; new MusicThread("Beam.mp3", false); }</p><p> public void dra
117、wBoom(Graphics g)</p><p><b> {</b></p><p> if (this.index < this.boomimage.length)</p><p><b> {</b></p><p> g.drawImage(this.boomimage[th
118、is.index], this.x, this.y, null);</p><p><b> }</b></p><p><b> else {</b></p><p> this.isLive = false;</p><p><b> }</b></p>
119、<p> this.index += 1;</p><p><b> }</b></p><p><b> }</b></p><p><b> 繪制爆炸方法定義</b></p><p> public void paintBoom(Graphics g
120、)</p><p><b> {</b></p><p> for (int i = 0; i < this.boom_list.size(); ++i)</p><p><b> {</b></p><p> Boom boom = (Boom)this.boom_list.get(
121、i);</p><p> if (boom.isLive)</p><p><b> {</b></p><p> boom.drawBoom(g);</p><p><b> }</b></p><p><b> else</b></p
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)畢業(yè)論文范文畢業(yè)論文計(jì)算機(jī)專業(yè)
- 計(jì)算機(jī)畢業(yè)論文
- 計(jì)算機(jī)畢業(yè)論文
- 成教計(jì)算機(jī)畢業(yè)論文
- 計(jì)算機(jī) photoshop畢業(yè)論文
- 計(jì)算機(jī)專業(yè)畢業(yè)論文
- 畢業(yè)論文---計(jì)算機(jī)專業(yè)
- 畢業(yè)論文??朴?jì)算機(jī)
- 計(jì)算機(jī)學(xué)院畢業(yè)論文
- 計(jì)算機(jī)自考畢業(yè)論文
- 計(jì)算機(jī)專業(yè)畢業(yè)論文
- 計(jì)算機(jī)犯罪畢業(yè)論文
- 中專計(jì)算機(jī)畢業(yè)論文
- 計(jì)算機(jī)畢業(yè)論文.doc
- 畢業(yè)論文-???計(jì)算機(jī))
- 計(jì)算機(jī)畢業(yè)論文.doc
- 計(jì)算機(jī)故障與處理-計(jì)算機(jī)專業(yè)畢業(yè)論文
- 計(jì)算機(jī)專業(yè)畢業(yè)論文 計(jì)算機(jī)網(wǎng)站優(yōu)化
- 計(jì)算機(jī)畢業(yè)論文 計(jì)算機(jī)組裝與維護(hù)
- 計(jì)算機(jī)日常維護(hù)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論