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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、榜,聲音設岸置,幫助等各種敗附加扒功能。版其中芭充滿了趣味性和伴刺激性,是適合佰各年齡段的盎益智冒險類叭游戲懊。拔本論文介紹了把J胺2ME扮的相關礙技術及該版堡壘拔游戲程序的結構昂分析和具體功能啊的實現。伴關鍵詞:半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案岸礙目吧 白 搬錄巴 辦 白 盎 傲 笆 扳 靶 藹 礙論文總頁數邦:叭2八3盎頁TOC

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

37、s 岸GameC半anvas i霸mplemen白ts Runn佰able扳我們所用的畫布癌程序啊,正是繼承了辦GameCan皚vas胺這個類,同時派暗生了柏Runnabl案e叭接口,來實現生懊成一個新的線程辦的功能。癌程序熬的岸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)+辦 阿“辦 襖關拌”百,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();笆 班/氨熬調用創建關卡的芭方法艾 岸 埃壩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搬tTimeMi俺llis();盎把 愛絆 爸 IN跋PUT_KEY扳();罷 安 /頒/笆調用按鍵方法白胺 頒半 敗 PE靶NG_ZHUA矮NG();襖 /愛/壩調用各種判斷和盎行動的方法壩絆 芭昂 澳岸movMing絆();耙 白/百/芭調用刷新畫面

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巴、調用創建

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

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

44、是跋以其他點為參考百電的(比如,中熬心點)。由此,八引入參考點的概般念。參考點由岸defineR埃eferenc翱ePixe瓣l挨函數確定胺未翻轉圖片狀柏態時的坐標。默昂認邦是板(0,0邦)耙點,如果需要,板可將參考點設置骯在畫面邊界之外愛。癌在本程序中,由俺于百J2ME絆中提供傲的愛Sprit氨e埃類功能有限,所奧以我自己寫了一柏個伴GamePla埃yer愛類來繼承奧Sprit背e阿類,擴充了更多翱的功能。拜public 氨class G懊amePlay敖er exte把nds Spr埃ite半在游戲中和背景熬的碰撞檢測始終阿是個難點,在本氨程序中是這樣實藹現的:敖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)笆捌靶霸搬this.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);案通過查看背景數哀組和玩家坐標,阿來實現和背景的版碰撞檢測。罷4按.4.5 So爸undEffe扮ct爸s白類的實現霸聲音效果是一個阿游戲中必不可少拜的部分,沒有了皚生動的音樂凹效果,游戲的體瓣驗就會大打折扣鞍。在我們的游戲案中當然也不能沒凹有聲音。隘在我們的游戲扒程序中的氨PlayMus案ic骯類就是游戲中的笆音效類。該類的罷主要功能為使跋用壩MIDP2.0安 Media 百AP稗I氨播放游戲中的聲跋音效果:背景音敗樂和游戲結束邦的提示音。艾我們用芭private佰 Player隘 create拌Player(佰String 百, Strin皚g f, in哎t i) 凹創建播放器。該擺方法中的阿是要播放聲音文骯件的相對路徑,埃f芭是播放音樂文件跋的格式,骯i搬用來控制該音樂胺的播放次數。在叭播放某個聲音之啊前我們都需要調芭用啊sto氨p懊方法來中止聲音襖(如果聲音未播敗放則該方法無效背)。游戲中的聲頒音我們用藹的笆st伴artPlay傲e盎r吧方法來播放。在巴需要播放游戲中埃的聲音時我們就伴調用該類中相應懊的方法。罷5白 爸程序設計過程中凹遇到的一些重要霸問題骯5俺.鞍1扮

溫馨提示

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

評論

0/150

提交評論