某款手機游戲的開發(fā)與測試_第1頁
某款手機游戲的開發(fā)與測試_第2頁
某款手機游戲的開發(fā)與測試_第3頁
某款手機游戲的開發(fā)與測試_第4頁
某款手機游戲的開發(fā)與測試_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 HYPERLINK 叭堡壘手機游敗戲的開發(fā)與測試摘要盎隨著手機業(yè)務(wù)的礙迅速伴發(fā)哎展啊,手機游戲案逐漸成為移動增扮值服務(wù)的興奮點半。本畢業(yè)設(shè)計阿就辦著眼頒于氨J2M矮E叭技術(shù)的應(yīng)用,設(shè)骯計與開發(fā)一款探翱險類手機游戲暗(瓣堡壘哀)巴。頒該堡壘游戲是基白于瓣J2ME伴開發(fā)半的矮手機昂RP霸G半游戲翱,阿采懊用瓣midp2.凹0隘技術(shù)實現(xiàn)了菜單佰、地圖、主角動唉作及唉怪物動作傲和岸A熬I伴等,爸主要巴通過精靈間的碰靶撞檢測來觸動版事件發(fā)生。案游戲的主流程是澳玩家懊利用凹手機疤鍵盤拜操作主角般在堡壘中拾取道拌具破解迷宮鞍,并且隨著關(guān)數(shù)骯的增加,游戲的敖難度也逐漸邦增加。另外,啊游戲中扮還壩包括了氨排行

2、榜,聲音設(shè)岸置,幫助等各種敗附加扒功能。版其中芭充滿了趣味性和伴刺激性,是適合佰各年齡段的盎益智冒險類叭游戲懊。拔本論文介紹了把J胺2ME扮的相關(guān)礙技術(shù)及該版堡壘拔游戲程序的結(jié)構(gòu)昂分析和具體功能啊的實現(xiàn)。伴關(guān)鍵詞:半J2ME扒;熬 扳 凹手機游戲哀;瓣 胺堡壘熬The 唉D邦esign a耙nd 爸D半evelopm愛ent矮 of 斑a襖 愛H敗andset 傲G邦ame頒 矮(C把astle)般A辦bstract挨W凹ith the唉 奧rapid d骯evelopm爸ent of 辦cell ph笆one bus隘iness, 邦cell ph班one gam板es hav罷e grad

3、u按ally be耙come th藹e hotsp安ot of 拜mobile 啊value-a拜dded se壩rvices.奧 T芭h岸is皚 案g靶raduat壩e desig懊n 礙which 癌focus敗es百 on J2M搬E techn伴o埃logy背 巴design骯s啊 and de背velop霸s辦 搬a靶 骯handset哀 advent礙ure gam凹e擺 拌(般castle拌)隘.傲This皚 castle拜 game i奧s a han跋dset RP奧G game 澳based o愛n 俺J2ME暗 w吧hi稗ch 艾m扒ainly e熬xamines熬 th

4、e de癌mo哀n唉版s col捌lision 擺to touc傲h off t耙he eve罷nt拜.啊 愛It uses啊 midp2.跋0 techn安ology t按o 絆a襖chieve盎 the me吧nu, the澳 map, t鞍he hero岸 moves,辦 monste叭r AI 埃etc頒.吧 礙T半he game熬 has in礙cluded 按the ord癌er list八, the s斑ound es耙tablish埃ment, h熬elps of敗 functi把on 安etc耙. 板P熬layer o半perates鞍 the le哀ad thro拜ugh

5、the爸 handse百t to co笆llect t壩he stag把e prop 扒in the霸 castle版 to bre柏ak thro拌ugh the般 labyr扒i埃nth.般 T胺he diff耙iculty 翱of the 藹game氨 will爸 gradua背lly inc伴rease白 along 伴with th邦e incre矮ase of 半stage頒.礙 罷Otherwi襖se,板 t盎his in八tellige啊nce and俺 risk g啊ame 八is 敖fill昂ed氨 with e斑njoymen疤t and t百he irri胺tating

6、 佰quality佰 wi礙tch sui捌ts many阿 ages.敖Th絆is擺 paper 鞍in按troduce般s relat艾ed tech哀nology 皚of the隘 扮J2ME把 a巴nd the 藹structu皚re anal八ysis an岸d the c把oncrete礙 functi唉on real癌ization辦 of thi拔s castl翱e game 唉procedu邦re.叭Key wor昂ds:昂 板J2ME按;愛handset拔 game擺;般castle案岸礙目吧 白 搬錄巴 辦 白 盎 傲 笆 扳 靶 藹 礙論文總頁數(shù)邦:叭2八3盎頁TOC

7、o 1-3 h z u1引 言1跋2 手機游戲的靶現(xiàn)狀和J2ME霸的概況板擺1拔2.1軟件現(xiàn)狀盎暗1稗2.2 J2M爸E概況埃懊2氨2.2.1 J班2ME的由來唉班2柏2.2.2 J吧2ME的3層體般系結(jié)構(gòu)及MID班P簡介瓣爸2拌2.2.3 C按onfigur按ation和P班rofiles敗白3愛2.3 J2M拌E現(xiàn)狀和前景拜挨4半2.4 手機游拜戲業(yè)務(wù)敗敖5阿3 開發(fā)環(huán)境介拔紹伴埃5癌3.1開發(fā)環(huán)境拜辦5佰3.2 關(guān)于S昂onyEric阿sson W笆ireless骯 Tool K翱it案捌5哎4手機游戲(堡藹壘)的開發(fā)版傲5斑4.1 游戲的扮的思路、構(gòu)想隘埃5笆4.1.1 游懊戲想法的產(chǎn)

8、生阿凹5挨4.1.2 對傲游戲設(shè)計的初步叭認識藹爸6敗4.1.3 模愛塊成型階段板骯6佰4.2 程序的版類結(jié)構(gòu)稗敖7奧4.3 游戲的澳流程圖氨靶7擺4.4 游戲的版實現(xiàn)百瓣8白4.4.1 主按類GameMI胺Dlet的實現(xiàn)叭埃8安4.4.2 游藹戲畫布MyGa艾me類的實現(xiàn)敗擺13班4.4.3 凹玩家精靈Gam懊ePlayer按類的實現(xiàn)笆啊17邦4.4.5 S礙oundEff艾ects類的實安現(xiàn)岸絆19懊5 程序設(shè)計過昂程中遇到的一些俺重要問題癌挨19傲5.1 關(guān)于碰敖撞的問題澳絆19把5.2 關(guān)于游壩戲畫面的顯示問斑題巴骯20敖結(jié) 論愛氨20參考文獻201引 言岸Java扳語言是美國版Sun

9、 Mic昂rosyste伴m盎的矮James G埃osling壩、拌Pratric班k Naugh跋to佰n斑及澳Mike S絆heridan白等人于搬1991敗年精心設(shè)計出來白的計算機編程語稗言,其構(gòu)想在于胺實現(xiàn)使用同一種熬編程語言所寫出阿來的程序可以在隘不同的平臺上運澳作。這種架構(gòu)對哎于消費性電子產(chǎn)巴品而言是具有革擺命性的,因為在扒消費性電子產(chǎn)品罷中的處理器及操芭作系統(tǒng)各不相同霸,要在這些平臺頒上開發(fā)程序必須愛要了解各個平臺叭的特性,以及其敖提供的稗API矮使用方式,分別壩開發(fā)不同的版本埃才能執(zhí)行,影響藹應(yīng)用程序的普及跋性。八近幾年,由于微百處理器性能的大懊幅提升,加上無柏線通訊技術(shù)的突頒

10、破,手持拜式移動設(shè)備開始罷受到大眾的青睞哎。短短幾年內(nèi),藹手機已經(jīng)升級了熬幾代產(chǎn)品,普及挨率逐年攀翱升,生產(chǎn)效率不皚斷上升,產(chǎn)品價昂格比版?zhèn)€人電腦的摩爾盎定律有更驚人的盎下調(diào),以至手機案是大多是城市居背民不可缺少的一礙件隨身設(shè)備。繼阿短信、彩信等服礙務(wù)之后,中國跋移動提供基于安Java扳的百寶箱業(yè)務(wù),搬應(yīng)用產(chǎn)品遍及商敗務(wù)應(yīng)用、信息獲拌取、英漢互譯、斑游戲娛樂等多媒癌體領(lǐng)域。阿為了適應(yīng)移動數(shù)拌據(jù)的發(fā)展,推動唉無線電子商務(wù)等把業(yè)務(wù)的發(fā)展,礙J2ME白(藹Java 2 拜Micro E霸ditio壩n半)既用于嵌入式岸系統(tǒng)霸的啊Jav叭a頒被引入無線領(lǐng)域阿。扒J2ME疤的出現(xiàn)實際上隘是扳Jav按a氨

11、技術(shù)的回歸。作暗為埃Java懊2罷平臺的一部分,岸J2ME澳與阿J2S礙E耙、板J2E斑E藹一起,為無線應(yīng)絆用的客戶端背和服務(wù)器端建立俺了完整的開發(fā)、佰部署邦環(huán)境。隨著扮J2ME稗的應(yīng)用,它為移扒動互聯(lián)引入了一俺種新的模型,既靶允許手機可以從澳互聯(lián)網(wǎng)上下載各斑種應(yīng)用程序,并白在手機創(chuàng)凹造可執(zhí)行環(huán)境離拌線運行這些程序壩。由于定義了可巴執(zhí)行下載的標準拔,并在手機上創(chuàng)鞍立了可執(zhí)行環(huán)境安和程序開艾發(fā)語言,由此,版在移動通信業(yè)第哎一次為軟件開發(fā)頒商創(chuàng)造了巨大的拌商業(yè)機會,手機爸用戶在得到豐富阿應(yīng)用體驗的同時疤,也大大提高了矮運營商的網(wǎng)絡(luò)流板量。芭2耙 傲手機游戲的現(xiàn)狀辦和昂J2ME懊的概況2.1軟件現(xiàn)狀

12、芭在信息社會中,艾手安機及其他無線設(shè)按備越來越多的走懊進普通百姓的工百作和生活,隨著辦信息網(wǎng)絡(luò)化的不俺斷進阿展,盎手機及其他無線奧設(shè)備上網(wǎng)絡(luò)勢在敖必行埃。但是傳統(tǒng)手機唉存在以下弊端:岸1. 邦傳統(tǒng)手機出廠時艾均由硬件廠商固爸化程序,程序不熬能增加、刪除,吧有了錯誤也不能白更靶新、修改,若要矮增加新功能必須癌另換一部手機。邦2. 懊傳統(tǒng)手機訪問互襖聯(lián)網(wǎng)是通過襖 Applic唉ation P靶rotocal頒)翱,所有網(wǎng)絡(luò)資源俺必須接通網(wǎng)絡(luò)才骯能在線訪問,非鞍常耗時、費用亦傲很高。搬而傲Jav耙a靶技術(shù)在無線應(yīng)用般方面的優(yōu)勢非常胺明顯:伴1. 懊應(yīng)用程序可按需瓣下載,而不是購襖買拌由硬件商提供的按

13、套件,可升級空傲大。艾2. Jav啊a哀技術(shù)提供了一個挨類庫,它使的應(yīng)伴用開發(fā)商可以創(chuàng)稗建更為直覺、豐暗富的拌用戶界暗面百(GUI)案;拜3.頒Jav藹a埃技術(shù)使網(wǎng)絡(luò)帶寬敗的應(yīng)用更為有效扳,因為應(yīng)用程序隘可以下載到器件般上,并在本地運頒行,僅巴僅是在連接到服啊務(wù)器時才會占用百網(wǎng)絡(luò)帶寬。板2辦.2 扮J2ME皚概況阿2敖.2.1 佰J2ME擺的由來傲Jav巴a按的最大目標和特襖點,就是伴“澳一次編寫,到處般運行鞍”半的平臺無關(guān)性。吧但是,一套標準把無法適應(yīng)各種不矮同的需求。因此愛,盎Jav艾a哀技術(shù)目前共有三骯套,分別針對不板同的平臺和應(yīng)用岸。般Standar版d 背Editio百n骯(鞍J2拌

14、S案E啊,標準版):針愛對桌面辦端澳P斑C傲和工作站的個人隘和低端商務(wù)應(yīng)用拔。擺 壩Enterpr昂ise 愛Editio耙n巴(邦J2E壩E伴,企業(yè)版):針霸對服務(wù)器端企業(yè)隘級應(yīng)用,支笆持矮Servlet白s, JS啊P叭和柏XM扒L白等等。柏Micro 唉Editio拔n般(捌J2ME耙,袖珍版):針骯對有限內(nèi)存,顯百示和處理能力的般設(shè)備,主要是消礙費電子和嵌入式愛設(shè)備領(lǐng)域(這實隘際正壩是笆Jav芭a皚語言設(shè)計最初的懊目標領(lǐng)域)。挨圖扮1百拌jav頒a拜結(jié)構(gòu)八在消費電子和嵌白入式設(shè)備領(lǐng)域,斑內(nèi)存從幾胺百襖K霸到幾胺十懊M癌,從沒有屏幕矮Web-T耙V艾,般CP伴U跋從低功耗的嵌入挨式處理器

15、疤到伴206MH奧z骯的板RIS頒C拌處理器,硬哎件條件的差異是哀相當(dāng)大的。這就愛使得疤J2ME氨的標準需要有不傲同的層次和類別般來適應(yīng)這個般復(fù)雜的領(lǐng)域,因盎此相比之下笆J2ME般就愛比翱J2S稗E疤和哀J2E邦E埃的標準要復(fù)雜得胺多。因此,清楚佰的理解埃J2ME八的體系結(jié)構(gòu)的劃埃分才能更好的理斑解和掌握把J2ME版。辦2耙.2.2 哎J2ME罷的耙3挨層體系結(jié)構(gòu)版及拔MID盎P伴簡介巴J2ME阿的安3阿層體系結(jié)構(gòu)依照艾各種設(shè)備的資源隘特性,將安J2ME頒技術(shù)構(gòu)架分為簡伴表傲(叭Profil挨e頒)、配置絆(半Configu骯ratio安n暗)斑和拜Java Vi扮rtual M瓣achin邦

16、e佰(百JV柏M熬)背3按層,然后再進一班步細分,這使佰J2ME啊能夠在每一類設(shè)愛備的限制下工巴作,而同時提供百最低限度傲的版Jav藹a捌語言功能性。艾關(guān)于拌J2ME阿的體系結(jié)構(gòu),可擺以這樣稗來進行總結(jié)癌:熬Configu搬rat八io壩n藹的分類是根據(jù)計瓣算能力的不同來阿劃分的,同類設(shè)敖備的計算能力相白近隘。拜Configu鞍ratio版n邦是一個規(guī)范,定阿義了阿這類設(shè)備的共阿同盎Jav氨a叭平臺,定義與設(shè)八備無關(guān)班的敖Jav絆a吧虛擬機和核心庫白,是平臺相容性疤的基礎(chǔ)隘。稗Profil襖e版的分類是根據(jù)設(shè)昂備功能劃分的,叭同類功能的設(shè)備藹其他各種硬件條百件和需求也相近敗。捌Profil拔e

17、扮是一安組愛API頒,在某礙Configu佰ratio霸n骯的基礎(chǔ)上擴展了愛針對設(shè)備特定功板能辦的伴AP案I扮,使得標準能夠哎完全適應(yīng)胺特殊的設(shè)備,徹俺底發(fā)揮設(shè)備的功皚能。哀J2ME哀體系的一般結(jié)構(gòu)哀是:疤由伴Configu凹r挨atio盎n搬定義皚的襖Jav傲a爸虛擬機運按行于設(shè)備的宿主版操作系統(tǒng)之上,藹構(gòu)成整個平臺的昂基礎(chǔ)扒。百Configu奧ratio懊n八提供了基本的語奧言特性板,拔Profil耙e愛提供針對設(shè)備的奧特殊功柏能白AP巴I骯和擴展類庫。應(yīng)按用程序的運行環(huán)擺境需要一擺個芭Configu巴ratio巴n啊和至少一罷個昂Profil凹e熬,多爸個斑Profil捌e骯可以共存,也

18、可拜以疊加。拔MID阿P跋(把Mobile 吧Informa壩tion De案vice襖 傲Profil艾e奧)定義了針對移邦動信息處理設(shè)備般(主要指智能手捌機和一部分具有吧無線通信功能背的霸PD礙A伴)的圖形界面,背輸入和時間處理昂,持久性存儲,俺無線電話網(wǎng)絡(luò)連巴接斑之上的一些消息澳處理(例如短消盎息)斑,安全等埃等柏AP搬I翱,并且考慮到了敖移動信息設(shè)備的版屏幕和內(nèi)存限制捌。類似拌于般J2S哎E捌中拔的澳Apple按t笆框架半,扮MID伴P扳提供了按基伴于扮javax.m白icroedi靶tion.mi百dlet鞍 昂包礙的捌MIDle板t壩應(yīng)用程序框架。昂因為矮MIDP熬提出拌的比較早,

19、目前矮重要的智能手機頒和邦PD稗A盎操作系統(tǒng)上都已般有了相應(yīng)的實現(xiàn)澳,而且應(yīng)用的也白比較廣泛。昂2唉.2.3 Co扳nfigura傲tio笆n按和氨Profile柏s扳針對消費電子和艾嵌入式設(shè)備領(lǐng)域擺豐富多樣的設(shè)骯備和彼此相差極傲大的計算能力及俺各種硬件條件,半J2ME扮首先根據(jù)最基本壩的一些特征把它奧們劃分為兩類。澳具備間斷網(wǎng)絡(luò)通柏訊能力的個人移拔動信息設(shè)備:如挨手機,雙向呼機稗,瓣P(guān)D笆A唉(背Persona矮l罷 熬Digital皚 Assist拌an疤t哎,個人數(shù)礙字助理,白也稱掌上電腦)吧等等。斑 皚有固定的不間斷癌網(wǎng)絡(luò)連接的共享挨連接信息設(shè)備:隘如置頂盒柏(扳set-top胺 靶b

20、oxe瓣s凹)霸,啊Web-T板V扳,支唉持疤Interne耙t罷的有屏幕電話,疤汽車娛樂導(dǎo)航氨系統(tǒng)等等。般 把Su霸n挨對敖J2ME唉 頒有一個很好的概凹括:笆J2ME凹技術(shù)有兩個設(shè)計叭中擺心愛啊拔手持的設(shè)備,和吧可以插到墻上插頒座的設(shè)備。白第一類設(shè)備往往哎是個人化的,移佰動的,使用電池埃,體積和功耗都爸有限制,因此功藹能和計算柏能力有限。第二傲類設(shè)備一般是固霸定的案,因此體積沒有柏太大限制。由于哀固定,可以有持罷續(xù)電源供應(yīng),因哎此功耗沒有太大辦問題,計算能力跋相對充裕。藹計算能力是這兩靶類設(shè)備的主要區(qū)笆別,對其上可能襖的應(yīng)用和環(huán)境顯哀然有著本質(zhì)影響班,不同類別的設(shè)扳備不可能采用同挨樣瓣的佰

21、Jav安a懊平臺,必須分別扳定義。針對這兩俺大類設(shè)備的平臺安規(guī)范就俺是熬Configu盎ratio吧n哎。第一類設(shè)備敖的案Configu安ratio頒n擺稱艾為百CLD芭C頒(胺Connect柏ed啊,八 瓣Limited俺 Device捌 Config盎u辦ratio澳n八),第二類稱罷為白CD按C暗(凹Connect唉ed Devi埃ce澳 般Confi吧guratio霸n凹)。跋屬于同一類的設(shè)啊備計算能力是相白似的,但是其他拌功能和條件還有瓣非常大的區(qū)別。暗作愛為把Jav盎a昂平臺必須保證相哎容性,這就必須伴舍棄所有的耙設(shè)備特殊性。因搬此敖,辦Configu稗r(nóng)atio皚n癌就是支持一組

22、通背用設(shè)備的最暗小皚Jav拔a藹平臺,作為這些埃設(shè)備的最小公分把母來保證不同設(shè)昂備間的平臺相容辦性。這里挨的叭Jav凹a扮平臺主要是擺指翱Jav霸a熬虛擬機霸(把JV藹M癌)和核心庫。佰在按Configu扮ratio斑n板中舍棄了設(shè)備的傲特殊性來保盎證搬Jav按a胺平臺的相容性,艾但是僅僅艾有奧Con暗figurat奧io捌n昂顯然是不夠的,唉特殊的具體設(shè)備稗其獨有的功能和扳硬件條件都沒有靶得艾到支持。為此,罷在哀Configu拔r敗atio搬n奧的基礎(chǔ)上,根據(jù)矮設(shè)備具體功能再昂進行一次劃分,疤比如智能手機翱,埃PD拜A阿等等。功能的劃凹分也就是其他硬疤件條件的劃岸分,比如屏幕大拌小,內(nèi)存,計

23、算傲能力,電力傲供應(yīng)等等都是從盎屬于功能的,因啊此同功能的設(shè)備俺的硬件條件都是拔非常相似的吧。拌Profil芭e氨(譯為簡表或者絆簡檔)就是針對捌每一類功能設(shè)備瓣的特殊性定義的哎與設(shè)備特性相關(guān)班的昂AP拜I跋,建筑澳于唉Configu拜ratio扳n敗之上,作礙為按Configu笆ratio擺n罷的擴展和補充。昂例擺如壩MID懊P斑(啊Mobile扳 Inform耙ation D瓣evice 拌Profil暗e笆,移動信壩息設(shè)笆備壩Profil隘e胺)就定義了關(guān)拔于移動信息設(shè)備唉(主要指智能手癌機和一部分具有白無線通信功能皚的敗PD邦A(yù)背)的圖形界面,唉輸入和時間處理伴,持久性存儲,按短消息挨

24、等等岸的拌AP叭I癌,并且考慮到了艾移動信息設(shè)備的奧屏幕和內(nèi)存限制癌。而正在制定中翱的按PDA挨 啊Profil愛e叭則定義了針傲對吧PD拔A懊的矮AP白I唉,其屏幕,內(nèi)存斑條件都要大奧于礙MID阿P扳,但搬是網(wǎng)絡(luò)方面的要敗求則顯然和手機扳有所不同。如下阿圖所示,同屬于白Configu般ration阿的設(shè)備根據(jù)功能啊不同由不同藹的凹Profil奧e扳來支持辦,拜Pro氨fil百e絆體現(xiàn)設(shè)備的特殊柏性,但是都建筑擺在一個共同的基皚礎(chǔ)半Configu叭ration般平臺之上。艾2翱.罷3 稗J2ME巴現(xiàn)狀和前景頒J2ME啊已經(jīng)廣泛的應(yīng)用哎在了很多的移動瓣設(shè)備上,很多的安移動設(shè)備都實奧現(xiàn)把MID凹P

25、案的參考實現(xiàn),但襖不同的移動設(shè)備跋還般是有一些不同的氨地方,比如應(yīng)用矮與搬手機上哎的敖Profil哎e扮就不適合俺在安PD襖A辦的拔Profil凹e挨。有一些系統(tǒng),邦比敖如辦Symbia皚n皚實現(xiàn)巴了爸CLD礙C扳和懊MID皚P熬,作為智能手機半的操作系統(tǒng),是般理想壩的盎MID俺P爸應(yīng)用平臺。其他八的系統(tǒng),如跋在爸Compa哀q礙的岸iPa澳q稗上已經(jīng)實現(xiàn)艾了八CD笆C白,懊IB艾M骯的礙WebSphe岸re按 白Micro E笆nvironm哀en矮t奧在扮Pocket氨 絆P盎C搬上實現(xiàn)般了埃CLD拜C敗,哀CD襖C擺和霸MID氨P暗??砂岩?,在硬件條件壩較好耙的愛PD白A癌上都可以實哎現(xiàn)

26、挨CD傲C奧的標準。由于這隘些主要操作系統(tǒng)稗平臺都是開放的版,基本可以相信傲,主要的移動信皚息設(shè)備操作系統(tǒng)骯都將一直提供唉J暗2ME按的支持,但是具版體支持哪個標準凹則并不一定死板拜地按伴照哀CLD辦C扳和壩CD跋C擺的最初定義,和頒設(shè)備的硬件條件巴和廠商的選擇有叭關(guān),或者可能同半時實現(xiàn)多個標準礙。所以說霸J2ME稗的還是在快速的般發(fā)展的。白2拔.4 頒手機游戲業(yè)務(wù)敖 辦手機游戲是移動襖多媒體時代最有藹價值的應(yīng)用。這扳是因為,游戲是擺多媒體應(yīng)用中集絆大成的按業(yè)務(wù)耙,圖像、癌音樂、互動都能斑在游戲中實現(xiàn),骯能充分滿足用戶凹各方面的需求。盎雖然目前手機游捌戲還無安法俺與捌P爸C耙游戲相比,其顯跋示

27、功能和鍵盤輸拔入、聲音處理能阿力也形成一定制埃約。但是隨時隨佰地可操作可聯(lián)網(wǎng)啊的特性大大拓展熬了人們娛樂休閑骯的時間和空間,翱以游戲功板能為主的手機終八端在市場上漸被辦認可,多媒體功吧能正向手機的標傲配功能演進,制搬約手機游戲發(fā)展疤的技術(shù)瓶頸將被敗打破。當(dāng)前的手把機游戲產(chǎn)業(yè)盡管斑仍然存在白很多制約其發(fā)展絆的瓶頸,但手機般游戲已顯示出非辦比尋常的發(fā)展速柏度,其市場潛力把十分巨大,將成埃為移動增值服務(wù)阿市場新的增長點版。傲3礙 翱開阿發(fā)環(huán)境介紹伴 3.1開發(fā)環(huán)境柏操作系疤統(tǒng):背Microso把ft Wind阿ows XP班程序語言疤:埃Java 2暗開發(fā)平臺案:稗Java 2 澳Micro E扳d

28、ition凹開發(fā)工具:按 Wirele熬ss Tool爸 Kit 2.跋1案+啊 UltraE吧dit-32_霸12.00a+啊1_SC翱3巴.2叭 叭關(guān)于扒SonyEri哀csson 八 翱Wireles昂s Tool 阿Kit矮SonyEri半csson霸 班WTK(Wir拌eless T氨ool Kit半)昂是昂SonyEri芭csso叭n昂公司針對俺J2ME絆推出的用于手機岸和稗Pal挨m捌等移動設(shè)備的開班發(fā)包,是手機廠擺商的專用開發(fā)包拌。它通用性高,扳開發(fā)出的應(yīng)用程扳序可保證能運行氨在大部分設(shè)備上邦,而不像專用廠隘商具有一定的不扮兼容性。雖然它隘沒有強大拜的功能和完善的拜調(diào)試手段,但

29、它捌提供運行模擬器背的最基本組件,埃是其澳他熬ID柏E敖需集成采用的必澳備元素。襖當(dāng)前的最艾新藹Releas礙e捌的版本為靶J2ME鞍 WTK2跋.暗2疤。霸4暗手機游戲(堡壘盎)的開發(fā)襖4伴.1拜 拜游戲的的思路、跋構(gòu)想安4傲.1.1奧 拔游戲想法的產(chǎn)生白相信大家一定都俺在懊8澳位機機上玩過阿冒險島這款游叭戲,非常有趣味百性。哀游戲中玩家通過般不斷的闖關(guān),來癌解救公主。在每骯個關(guān)都很很多的澳怪物阻擋著你,岸所以需要運用各安種機關(guān)或者秘籍捌來殺死它們。殺敖死他們的同時還柏可以獲得各版種獎勵,加生命疤,加血等,增加愛了游戲的趣味性岸。如圖2所示:圖2游戲截圖擺這款冒險島笆游戲的實現(xiàn)相對唉于其傲他

30、背RPG澳或者網(wǎng)絡(luò)版手機隘游戲稍簡單一些佰,適合初學(xué)者作爸為練習(xí),氨所以我決定編寫愛一款類似的手機伴游戲。懊由于之前對手機瓣游戲的編程知識挨以及游戲的設(shè)計礙只有初步的了解隘,因此,我們在哀游戲的構(gòu)架和思八路上經(jīng)歷了幾個盎階段。辦4翱.1.2稗 俺對游戲設(shè)計的初版步認識盎剛開始我們只對斑J2ME艾有初步的了解。巴這時我們只是模昂仿之前岸在辦PC壩上看到的游戲,八用語言把游戲的案實現(xiàn)感性的描述俺為幾大部分:胺游戲界面系統(tǒng):俺包括游戲開始界哎面;游戲開局界柏面;游拜戲運行界面;游班戲結(jié)束界面。絆游戲元素:菜單敖類;畫布類;人捌物類;排行榜類拜。案4哀.矮1.3瓣 阿模塊成型階段斑在進一步熟悉了芭J2

31、ME凹知識后,對框架拌做扮出了一些修改,叭逐步把游戲的基擺本功能確定搬。翱游戲依次進入白加載界面;主菜氨單;游戲運行界襖面隘;游戲結(jié)束界面岸。敗具體實現(xiàn)的功敗能鞍為礙:鞍 版1盎翱主菜單,翱有如下選項:傲(敖1氨)邦開始游埃戲案捌跋進入游戲界面氨。挨(邦2半)癌聲瓣音礙艾啊設(shè)置聲音的有無霸選項巴。扳(班3礙)白幫骯助瓣昂愛介紹游戲的玩法氨。氨(把4鞍)骯排行瓣榜拌柏玩家所得分數(shù)的翱排行榜隘。斑(班5斑)叭關(guān)笆于胺敗用來顯示說明信斑息以及背景圖片皚。壩2暗啊游戲運行界面,哎包括:矮游戲界面;目凹前游戲得分;游襖戲關(guān)數(shù);生命次班數(shù);熬3愛板游戲結(jié)束界面:把游戲結(jié)束后,顯愛示一行說明信罷息,然后退回

32、到版菜單柏。哀游戲佰的頒主要模塊阿為隘:八1拔游戲班主癌MIDle扮t叭(艾GameMID搬let壩)伴胺隘對游戲生命周期頒的判斷;對畫布扮類的調(diào)用;管理昂游戲程序絆中各個屏幕之間扳的轉(zhuǎn)換。安2柏游戲畫布(哎MyGame瓣)扒凹拌對游戲所用變量拔,常量的設(shè)定;瓣游戲的初始化;捌游戲中精靈運動挨軌跡的控制;精辦靈與磚塊的碰撞骯檢測以及磚塊狀靶態(tài)的控制;游戲班中各關(guān)卡的基本巴設(shè)定;游戲中對骯按鍵狀態(tài)的處理拔。氨3哎菜單氨類辦佰瓣游戲中菜單事件挨的處理。壩4班敖GameOgr拜e百類罷吧唉游戲中怪物的類唉。熬5頒熬GamePla罷yer俺類胺隘疤玩家控制的精靈懊類。隘6懊氨GameRMS盎類案啊用于

33、實現(xiàn)分數(shù)排百行榜暗。八7跋叭PlayMus癌ic耙類斑壩拜用于實現(xiàn)音樂的版播放。柏8癌氨MySet愛類拜熬懊聲音大小的設(shè)置按。奧4版.2翱 挨程序的類結(jié)構(gòu)擺程序一共拜有鞍8凹個主要類,其中半菜單類負責(zé)各個跋屏幕的切換。程扮序的類結(jié)構(gòu)如巴圖熬3邦所示:PlayMusicGameMIDlet:MIDletGameOgreMymenuMyhelpMySetGameRMSMyGame版圖笆3 安 骯類結(jié)構(gòu)班4般.3礙 靶游戲的流程圖耙進入游戲菜單。絆初始情況下,游胺戲菜單佰有鞍5瓣個選項,它們分俺別是開始游戲、板游戲說明和排行半榜、把設(shè)置、關(guān)于。選胺擇開始新游戲則俺進入游戲,在游艾戲中如矮果按下非游戲

34、鍵吧則中斷游戲返回拜菜單,此時菜單翱中增加了一個繼礙續(xù)游戲的選項,礙可以返回挨游戲也可以重新拌開始新的游戲哀。在菜單中選擇翱游戲說明或者高扮分記錄,則進入拜相應(yīng)的屏幕,他巴們都能扳用案“跋后拌退叭”皚軟鍵返回菜單。把菜單中的退出選捌項用于退出程序半。傲游戲的流程如柏圖白4爸所示澳:菜單新游戲說明排行榜設(shè)置關(guān)于退出關(guān)于Back設(shè)置Back排行榜Back說明Back游戲拌半骯笆胺拜半哀氨邦拜罷捌懊隘胺般頒絆奧拔皚骯案唉捌芭奧把埃敖扮哎百絆版班熬昂搬 游戲分數(shù)昂絆哎靶癌班唉凹奧爸霸捌瓣頒襖骯芭扒霸哀骯圖拔4 熬 芭游戲的流程圖耙4斑.4熬 佰游戲的實現(xiàn)叭游戲一共實現(xiàn)了伴幾個般類,包括用于游礙戲外部的

35、、菜單搬類、排行榜屏幕敖類、聲音設(shè)置屏安幕類、結(jié)束屏幕氨類,以及背用于游戲本身的柏游戲畫布類、聲芭音效果類。靶4爸.4.1按 跋主類斑GameMID藹let扒的實現(xiàn)按4捌.4.2熬 霸游戲畫布敖MyGame岸類的實現(xiàn)芭在霸J2ME稗游戲編芭程中安,把Canva瓣s百類是最常用的類愛之一,該類提供哀了獲得手機屏幕百屬性、繪制界面藹以及事件處理等稗很多實用的功能凹。昂Canva扮s板類巴是鞍Display罷abl哀e癌的子類,主要用按來需要處理低級懊事件,例如鍵盤板按鍵事件等,以佰及需要繪制屏幕安的程序。在實際皚的使用過程,一邦般都通過繼奧承癌Canva艾s壩來利用該類提供盎的功能稗。爸Ca鞍nv

36、a捌s巴類是一個抽象類白,繼承該類的時岸候必須覆霸蓋按pain邦t氨方法。絆GameCan昂vas扳 敗類提供了基本的奧游戲用戶接口。佰除了絆從凹Canvas案 靶繼承下來的特背性扒(靶命巴令艾,佰輸入事件拜等靶)伴以疤外熬,按它還提供了專門隘針對游戲的功搬能拔,八比如后備屏幕緩佰沖瓣和鍵盤狀態(tài)查詢懊的能力。這也拔是板GameCan白va斑s皚與啊Canva癌s胺相比所具有的兩翱個優(yōu)氨點跋.搬來看游戲畫面:班當(dāng)流程控制器轉(zhuǎn)頒到游戲運行界面背時,則用到了哎游戲畫布懊MyGame背類。盎下面是游戲截圖愛:圖7游戲截圖把下面來看類的聲矮明:疤public 耙class M把yGame e爸xtend

37、s 岸GameC半anvas i霸mplemen白ts Runn佰able扳我們所用的畫布癌程序啊,正是繼承了辦GameCan皚vas胺這個類,同時派暗生了柏Runnabl案e叭接口,來實現(xiàn)生懊成一個新的線程辦的功能。癌程序熬的岸ru頒n背方法:瓣public 拌vo靶id run(頒) 版芭俺long st絆 = 0;霸 伴 long e按t = 0;矮 班 Graphi哎cs g = 柏getGrap襖hics();敖 矮 for(st叭age = 2八;stage 敖= 4;st岸age+)拔 佰 斑 阿 昂安flag = 百true;阿 搬 礙拔g.setCo熬lor(0,0扳,0)敗

38、;耙 凹 芭奧g.fillR埃ect(0,0氨,getWid邦th(),ge把tHeight百();胺 皚 叭哀g.setCo澳lor(拌255,255敗,0); 安 昂板g.setFo叭nt(Font絆.getFon版t(Font.佰FACE_PR叭OPORTIO擺NAL,Fon柏t.STYLE案_BOLD,F半ont.SIZ暗E_LARGE白);隘g.drawS白tring(耙“盎第阿 皚”百 + (sta翱ge -1)+辦 阿“辦 襖關(guān)拌”百,getWid芭th昂()/2-30熬,getHei罷ght()/2傲-10,Gra斑phics.T俺OP|G八raphics扳.LEFT);盎 跋

39、 骯俺flushGr翱aphics(翱);艾昂哎 胺 吧百try 百 頒Thread.凹sleep(按1000);絆 靶catch (暗Interru奧ptedExc奧eption 藹e1) 霸拜捌背CREAT_S擺TAGE();笆 班/氨熬調(diào)用創(chuàng)建關(guān)卡的芭方法艾 岸 埃壩try Th伴read.sl敖eep(500艾); 氨 罷 俺礙catch (把Interru艾ptedExc半epti熬on e1)版 阿暗氨氨絆mpaint(搬g);奧隘阿白isKey =擺 true伴;凹百 白 while(扒flag)扒 凹/頒/斑游戲正式開始按板 斑 頒巴 挨 敗昂while(i罷spause)版

40、疤/襖/邦判斷是否按下暫斑停澳疤 吧 愛吧霸澳 埃 阿俺百try哀 阿Thread.辦sleep(1鞍00);懊 扮安愛 巴 凹版版catch(E澳xceptio瓣n e)敖哎 埃 百班瓣邦 愛 st盎 = Syst半em.curr板entTime艾Millis暗();愛暗 柏 St俺artGame拌Time = 靶System伴.curren搬t(yī)TimeMi俺llis();盎把 愛絆 爸 IN跋PUT_KEY扳();罷 安 /頒/笆調(diào)用按鍵方法白胺 頒半 敗 PE靶NG_ZHUA矮NG();襖 /愛/壩調(diào)用各種判斷和盎行動的方法壩絆 芭昂 澳岸movMing絆();耙 白/百/芭調(diào)用刷新畫面

41、的頒方法懊白 般 mp隘aint(g)鞍;跋靶 霸 et巴 = Syst愛em.curr絆entTim鞍eMillis巴();拜扒 案 if捌(et-st吧) 0)扳癌 辦 拔拜板 啊 GameNa吧me in =愛 new Ga霸meName(稗);阿疤扒 俺 Gam敖eMenu.d奧isplay.懊setCurr拌ent(in)傲;氨奧胺 背 in.sta昂rt();扮凹 扮 澳啊 骯 else班班 白 絆艾板 澳 GameMe般nu.curr捌ent = G扮ameMenu敗.MY_MEN背U;盎壩唉 絆 G伴ameMenu挨.show()頒;班邦 佰 安在線程中,通過奧拜1巴、調(diào)用創(chuàng)建

42、關(guān)卡傲的方法搬CREAT_S絆TAGE();骯2板、判斷是否按下柏暫停耙while(i扳spause)罷3懊、調(diào)用按鍵方法癌INP把UT_KEY(版);艾4癌、調(diào)用各種判斷霸和行動的方法拜PENG_ZH芭UANG();案5熬、調(diào)用刷新畫面奧的方法埃movMing隘();岸6邦、判斷是否輸?shù)舭从螒虬穒f(isEn伴dGame)埃7跋、判斷是否贏得熬游戲扮if(isEn捌dGame)扒來對游戲進行不瓣斷監(jiān)控。八4癌.4.3澳 按玩家精靈耙GamePla唉yer拌類的實現(xiàn)敖 安Sprit笆e鞍類是繼承案自絆Laye矮r班的用于存儲多白幀案的基本可視元素把。不同癌的版fram斑e胺可交相顯示,構(gòu)扳成動

43、態(tài)的效果。叭圖片可翻轉(zhuǎn)、顛啊倒、由一個主角骯圖片就可以方便翱的得到所有方向安的顯示狀態(tài),相佰比原先只能使藹用扮Canva俺s安繪圖,需要將所凹有唉方向的主角愛圖像柏都繪制吧在佰png版圖像哀中簡化了許多安。壩Sprit澳e八也可以從整合的癌圖像疤中讀圖,讀圖時皚將把大圖分解為鞍若干等寬等高的艾小圖。每個小圖案按照其排列順序癌有相應(yīng)的序號,岸在程序中調(diào)用其霸序號,就可以繪挨制出相應(yīng)的圖片背。本程序中的玩氨家、怪物都版由瓣Sprit擺e扮繼承得到。在有捌些情況下,控制跋主角的翻轉(zhuǎn),尤頒其是多幅圖邦片配合顯示的過佰程,如果將多圖襖的共享定位點設(shè)吧置在通常的左上俺角,將很不容易背控制,因般為許多翻轉(zhuǎn)都

44、是跋以其他點為參考百電的(比如,中熬心點)。由此,八引入?yún)⒖键c的概般念。參考點由岸defineR埃eferenc翱ePixe瓣l挨函數(shù)確定胺未翻轉(zhuǎn)圖片狀柏態(tài)時的坐標。默昂認邦是板(0,0邦)耙點,如果需要,板可將參考點設(shè)置骯在畫面邊界之外愛。癌在本程序中,由俺于百J2ME絆中提供傲的愛Sprit氨e埃類功能有限,所奧以我自己寫了一柏個伴GamePla埃yer愛類來繼承奧Sprit背e阿類,擴充了更多翱的功能。拜public 氨class G懊amePlay敖er exte把nds Spr埃ite半在游戲中和背景熬的碰撞檢測始終阿是個難點,在本氨程序中是這樣實藹現(xiàn)的:敖publ扳ic void翱

45、 isPeng扮(int x,熬int y,i挨nt Arra瓣y,i翱nt N)斑for(int昂 i = 0;跋 i 20昂; i+)唉for(int芭 j = 0;皚 j 18;敖 j+)奧扳岸if(Arra藹yij襖 = N)瓣板拌礙if (!My鞍Game.is擺U)佰哀擺柏敗if( Len盎gth * j背 = x 胺+ this.般getWidt邦h() 叭/2 & 骯10 + Le邦ngth * 罷i = 隘y)矮愛熬芭藹壩t芭his.set阿Positio芭n(this.扮getX(),佰 20 + 罷Length 吧*(i + 1八);版哀澳爸搬唉白System.按out.

46、pri般ntln(疤“哀UP: 辦”斑+getY()熬);/左按隘把斑疤if( Len把gth * j柏 =叭 x + 1 拔& 10 +暗 Length翱 * i = y 疤+ this.懊getHeig跋ht()/2)昂拔氨板艾翱this.se澳tPositi哎on( Len般gth * (懊j + 1),般this.ge叭tY();版矮霸案柏藹if( Len背gth * j壩 = 辦x + thi瓣s.ge霸tWidth(挨)暗 翱拌1 & 10八 + Leng敖th * i 般= y + 背this.ge敗tHeight暗()/2)笆捌靶霸搬t(yī)his.se罷tPositi啊on(Len

47、g耙th * j 跋- this.傲getWidt柏h() ,th柏is.getY稗();霸疤扳扮啊/八左下壩皚鞍辦if( Len案gth * j哎 = x + 霸3 & 10俺 鞍+ Lengt拌h * i = y +般 this.g翱etHeigh敖t()半扒拜啊佰this.se版tPositi俺o背n(this.皚getX(),愛 Lengt昂h * (i 奧-1);/右下礙皚俺隘if( Len按gth * j昂 = x凹 + this扒.getWid鞍th() -3盎 & 10昂 + Leng傲t版h * i = y +皚 this.g搬etHeigh背t()絆this.se笆tPos

48、iti佰on(this爸.getX鞍(), Le礙ngth * 捌(i - 1)隘);暗Length 背* i:+Le藹ngth * 埃(i-1);案通過查看背景數(shù)哀組和玩家坐標,阿來實現(xiàn)和背景的版碰撞檢測。罷4按.4.5 So爸undEffe扮ct爸s白類的實現(xiàn)霸聲音效果是一個阿游戲中必不可少拜的部分,沒有了皚生動的音樂凹效果,游戲的體瓣驗就會大打折扣鞍。在我們的游戲案中當(dāng)然也不能沒凹有聲音。隘在我們的游戲扒程序中的氨PlayMus案ic骯類就是游戲中的笆音效類。該類的罷主要功能為使跋用壩MIDP2.0安 Media 百AP稗I氨播放游戲中的聲跋音效果:背景音敗樂和游戲結(jié)束邦的提示音。艾我們用芭private佰 Player隘 create拌Player(佰String 百, Strin皚g f, in哎t i) 凹創(chuàng)建播放器。該擺方法中的阿是要播放聲音文骯件的相對路徑,埃f芭是播放音樂文件跋的格式,骯i搬用來控制該音樂胺的播放次數(shù)。在叭播放某個聲音之啊前我們都需要調(diào)芭用啊sto氨p懊方法來中止聲音襖(如果聲音未播敗放則該方法無效背)。游戲中的聲頒音我們用藹的笆st伴artPlay傲e盎r吧方法來播放。在巴需要播放游戲中埃的聲音時我們就伴調(diào)用該類中相應(yīng)懊的方法。罷5白 爸程序設(shè)計過程中凹遇到的一些重要霸問題骯5俺.鞍1扮

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論