2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  畢 業(yè) 設(shè) 計(jì) 說 明 書</p><p>  2013年 6月 1日</p><p><b>  摘  要</b></p><p>  隨著現(xiàn)代科技的高速發(fā)展,短短幾十年,電腦游戲得到迅猛發(fā)展。電腦游戲充分利用多媒體網(wǎng)絡(luò)優(yōu)勢(shì),拓寬了傳統(tǒng)游戲的界限,給人們帶來全新的體驗(yàn)。在這些游戲中,F(xiàn)lash游戲以其好看的動(dòng)畫,絢

2、麗的聲光效果,高度的通暢性,以及很強(qiáng)的可玩性,而受到廣大青少年的青睞。 </p><p>  Flash軟件由Macromedia公司推出,除了制作動(dòng)畫以外,還能實(shí)現(xiàn)交互功能。Flash是一種創(chuàng)作工具,設(shè)計(jì)人員和開發(fā)人員可使用它來創(chuàng)建演示文稿、應(yīng)用程序和其它允許用戶交互的內(nèi)容。Flash 可以包含簡單的動(dòng)畫、視頻內(nèi)容、復(fù)雜演示文稿和應(yīng)用程序以及介于它們之間的任何內(nèi)容。它不僅能夠制作出許多眩目多彩的效果,只要你肯賦

3、予它一定的情景,它也會(huì)模擬出現(xiàn)實(shí)生活中的場(chǎng)景。通過Flash生成的動(dòng)畫文件非常小,可以很好的用在網(wǎng)頁設(shè)計(jì)及更多的領(lǐng)域。Flash可以采用補(bǔ)間形狀或補(bǔ)間動(dòng)畫等多種手段,產(chǎn)生很復(fù)雜的動(dòng)畫;同時(shí),F(xiàn)lash不同于gif動(dòng)畫,它可以附加很復(fù)雜的控制代碼,從而開發(fā)出很復(fù)雜的應(yīng)用,比如一些小游戲。</p><p>  關(guān)鍵詞:Flash;游戲;動(dòng)畫;網(wǎng)絡(luò)</p><p><b>  Abs

4、tract</b></p><p>  With the rapid development of modern technology, only lasts for a few decades, computer games has been the rapid development. Computer games take full advantage of multimedia network

5、, and widened the boundaries of traditional games, to bring to people new experience. In these games, Flash game with its nice animation, gorgeous sound and light effect, patency of height, and can play sex is very stron

6、g, by the majority of young people of all ages.</p><p>  Flash software produced by Macromedia company, in addition to other animation, can realize the interactive function. Flash is an authoring tool, desig

7、ners and developers can use it to create presentations, applications and other content to allow user interaction. Flash can include simple animation, video content, complex presentations, applications, and anything in be

8、tween them. It is not only able to create many of the dazzling and colorful effect, as long as you are willing to give it a certai</p><p>  Key Words:Flash; Animation; Network; The game</p><p>&

9、lt;b>  前言</b></p><p>  伴隨著計(jì)算機(jī)的迅速普及,伴隨著網(wǎng)絡(luò)“觸角”的迅速延伸,信息時(shí)代到來了!喜歡探索,充滿幻想,渴望參與,這是人的天性。信息時(shí)代帶給我們一個(gè)能夠滿足人類這種天性的禮物——電腦小游戲。真實(shí)感、立體感、交互性強(qiáng)的游戲吸引著成千上萬的人,很多人迷戀上了游戲,迷戀上了計(jì)算機(jī),迷戀上了網(wǎng)絡(luò),迷戀上了Flash!</p><p>  電腦小游

10、戲現(xiàn)在已成為社會(huì)上各界人士來放松自己,消遣時(shí)間的有效途徑之一。就像前期在我們學(xué)生廣為流傳的《植物大戰(zhàn)僵尸》,大部分學(xué)生在課余時(shí)間都在用這個(gè)游戲來充實(shí)自己的課余生活。小游戲和其它大型游戲的區(qū)別在于它不容易讓玩家上癮。玩家完全可以在業(yè)余時(shí)間來運(yùn)用小游戲來放松自己和娛樂。</p><p>  作為一種大眾娛樂方式,游戲已經(jīng)越來越被人們所接受,尤其是在電腦游戲方面。面對(duì)當(dāng)今社會(huì)上的種種壓力,偶爾玩小游戲已是現(xiàn)在社會(huì)各界人

11、士來放松自己,緩解自身壓力的一種有效方法。特別是在射擊方面的小游戲,游戲自身的激烈的戰(zhàn)斗與玩游戲時(shí)候玩家的心態(tài)可以使玩家重新調(diào)整心態(tài),從而又更好的心態(tài)去工作。</p><p>  鑒于上述問題的綜合的考慮,也為了展示這三年來所學(xué)成果,我決定做基于Flash的射擊類小游戲——宇宙大作戰(zhàn)。</p><p>  現(xiàn)在網(wǎng)絡(luò)上流行的小游戲大多是運(yùn)用Flash來制作的。Flash游戲是一種新興起的游戲

12、形式,以游戲簡單,操作方便,綠色,無需安裝,文件體積小等優(yōu)點(diǎn)現(xiàn)在漸漸被廣大網(wǎng)友喜愛。Flash游戲又叫Flash小游戲,因?yàn)镕lash游戲主要應(yīng)用于一些趣味化的、小型的游戲之上,以完全發(fā)揮它基于矢量圖的優(yōu)勢(shì)。制作FLASH游戲需要用到ActionScript語言。利用ActionScript編程來控制場(chǎng)景的移動(dòng),飛機(jī)的屬性和游戲中道具的作用等等。Flash是Macromedia公司的一個(gè)的網(wǎng)頁交互動(dòng)畫制作工具。Flash是交互式矢量圖和

13、Web動(dòng)畫的標(biāo)準(zhǔn)。網(wǎng)頁設(shè)計(jì)者使用Flash能創(chuàng)建漂亮的、可改變尺寸的、以及極其緊密的導(dǎo)航界面、技術(shù)說明以及其他奇特的效果。</p><p><b>  1 簡介</b></p><p>  安卓游戲[1]是運(yùn)行在安卓系統(tǒng)平臺(tái)的游戲,隨著移動(dòng)終端設(shè)備的發(fā)展,安卓游戲不但可以運(yùn)行于智能手機(jī),也可以運(yùn)行在平板電腦上。因?yàn)椴僮骱唵?,?jié)奏明快,因此,作為縱軸射擊的經(jīng)典之作,《雷

14、電》系列受到了廣大玩家的歡迎,可以說是老少咸宜的游戲了?!独纂姟凡坏l頻登陸街機(jī),家用機(jī)和掌機(jī)等各大平臺(tái),而且,除官方版本外,還出現(xiàn)了許多同人版。因此,畢業(yè)課題我選擇雷電作為畢業(yè)設(shè)計(jì)的項(xiàng)目,既可以模仿經(jīng)典,又可以創(chuàng)造經(jīng)典。</p><p>  1.1 課題的背景及意義</p><p>  自上世紀(jì)80年代第一部手機(jī)誕生以來,隨著計(jì)算機(jī)技術(shù)的進(jìn)步,手機(jī)也經(jīng)歷了從模擬器到GSM、2.5G再到今

15、天的3G手機(jī)如此一個(gè)發(fā)展歷程[1]。特別是進(jìn)入21世紀(jì)后手機(jī)的硬件性能得到很大的提高,當(dāng)前主流手機(jī)普遍配有主頻500MHZ的微處理器和500MB容量的存儲(chǔ)器。與之同步發(fā)展的還有支持手機(jī)運(yùn)行的手機(jī)操作系統(tǒng),從當(dāng)初的單片機(jī)系統(tǒng)到后來的專用嵌入式系統(tǒng),到后來開始為智能手機(jī)設(shè)計(jì)開發(fā)出可以更高效管理手機(jī)軟硬件資源的操作系統(tǒng),其中有不少屬于開源項(xiàng)目的手機(jī)操作系統(tǒng)。目前全球的智能手機(jī)操作系統(tǒng)主要以Google公司開發(fā)的Android系統(tǒng)、蘋果公司開發(fā)

16、的iPhone系統(tǒng)、諾基亞公司開發(fā)的Symbian系統(tǒng)、微軟公司開發(fā)的WindowsMobile系統(tǒng)和Linux系統(tǒng)為代表。</p><p>  手機(jī)的發(fā)展也帶動(dòng)了手機(jī)游戲產(chǎn)業(yè)的快速發(fā)展。在人們的生活中有許多的游戲,但是不同的游戲會(huì)帶給玩家不同的感受和生活理念。游戲是人們?nèi)粘I畹囊粋€(gè)必不可少的娛樂項(xiàng)目,也帶動(dòng)了游戲相關(guān)產(chǎn)業(yè)市場(chǎng)的發(fā)展。游戲平臺(tái)經(jīng)過從游戲機(jī)到電視游戲,然后到PC游戲,再到手機(jī)游戲,中間經(jīng)歷了很多技

17、術(shù)的更新和變革。但隨著新技術(shù)的發(fā)展和人們生活水平質(zhì)量的提高,手機(jī)開始逐漸普及,因?yàn)槭謾C(jī)是非常小巧便捷的,而且方便的特性成為人們?nèi)粘I钪斜貍渫ㄓ嵐ぞ?。而基于手機(jī)平臺(tái)的游戲也就擁有的市場(chǎng)空間是巨大的,也因隨著3g的開通和應(yīng)用,手機(jī)游戲必然會(huì)迎來新的一輪游戲熱潮。</p><p><b>  1.2 特色介紹</b></p><p><b>  1.2.1開放性

18、</b></p><p>  在優(yōu)勢(shì)方面,Android平臺(tái)首先就是其開放性,開放的平臺(tái)允許任何移動(dòng)終端廠商加入到Android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應(yīng)用的日益豐富,一個(gè)嶄新的平臺(tái)也將很快走向成熟。  開發(fā)性對(duì)于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費(fèi)者和廠商,而對(duì)于消費(fèi)者來講,最大的受益正是豐富的軟件資源。開放的平臺(tái)也會(huì)帶來更大競(jìng)爭(zhēng),如此一來,

19、消費(fèi)者將可以用更低的價(jià)位購得心儀的手機(jī)。</p><p><b>  1.2.2掙脫束縛</b></p><p>  在過去很長的一段時(shí)間,特別是在歐美地區(qū),手機(jī)應(yīng)用往往受到運(yùn)營商制約,使用什么功能接入什么網(wǎng)絡(luò),幾乎都受到運(yùn)營商的控制。自從iPhone上市,用戶可以更加方便地連接網(wǎng)絡(luò),運(yùn)營商的制約減少。隨著EDGE、HSDPA這些2G至3G移動(dòng)網(wǎng)絡(luò)的逐步過渡和提升,手

20、機(jī)隨意接入網(wǎng)絡(luò)已不是運(yùn)營商口中的笑談。</p><p><b>  1.2.3硬件選擇</b></p><p>  這一點(diǎn)還是與Android平臺(tái)的開放性相關(guān),由于Android的開放性,眾多的廠商會(huì)推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會(huì)影響到數(shù)據(jù)同步、甚至軟件的兼容。好比你從諾基亞Symbian風(fēng)格手機(jī)一下改用蘋果iPhone,同時(shí)還可將S

21、ymbian中優(yōu)秀的軟件帶到iPhone上使用、聯(lián)系人等資料更是可以方便地轉(zhuǎn)移。</p><p>  1.2.4不限制開發(fā)商</p><p>  Android平臺(tái)提供給第三方開發(fā)商一個(gè)十分寬泛、自由的環(huán)境。因此不會(huì)受到各種條條框框的阻擾,可想而知,會(huì)有多少新穎別致的軟件會(huì)誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android難題之一。</p>

22、<p><b>  1.2.5發(fā)展趨勢(shì)</b></p><p>  隨著各平臺(tái)對(duì)OpenGL ES支持能力的大力加強(qiáng),使得開發(fā)復(fù)雜的3D場(chǎng)景游戲成為可能。更多顯示芯片對(duì)Android的支持,硬件性能將不再成為制約專業(yè)化游戲發(fā)展的瓶頸。越來越多在PC、PSP、PS3、XBOX360等各游戲平臺(tái)占有領(lǐng)先地位的專業(yè)游戲公司將向Android等手機(jī)平臺(tái)領(lǐng)域快速滲透,使得游戲的規(guī)劃更加向?qū)I(yè)

23、化方向發(fā)展。</p><p>  將向網(wǎng)絡(luò)化方向發(fā)展  隨著各平臺(tái)對(duì)無線通信網(wǎng)絡(luò)、WIFI網(wǎng)絡(luò)、藍(lán)牙網(wǎng)絡(luò)的良好支持,游戲?qū)?chuàng)新出更好的游戲性和用戶本驗(yàn)。網(wǎng)絡(luò)游戲,多人游戲,聯(lián)機(jī)對(duì)戰(zhàn)等將進(jìn)一步強(qiáng)化玩家對(duì)游戲的粘著度,并且容易通過對(duì)道具等的控制產(chǎn)生營利模式。玩家之間對(duì)交互能力的需求也會(huì)促成未來的游戲向網(wǎng)絡(luò)化發(fā)展進(jìn)程的加快。</p><p>  將向休閑化、時(shí)間片化方向發(fā)展  移動(dòng)設(shè)備的隨身性使

24、是休閑小游戲?qū)⒌玫娇焖俚陌l(fā)展。移動(dòng)設(shè)備對(duì)分散時(shí)間的利用促進(jìn)了游戲向時(shí)間片化發(fā)展,即一個(gè)游戲可以隨時(shí)開始,隨時(shí)結(jié)束,充分利用用戶分散的時(shí)間片來運(yùn)行。</p><p><b>  1.3論文結(jié)構(gòu)安排</b></p><p>  論文共分五章,內(nèi)容及章節(jié)安排如下:</p><p>  第一章,介紹Android手機(jī)游戲的研究背景以及意義、Androi

25、d的特色介紹、本文研究的主要內(nèi)容和論文的組織結(jié)構(gòu)。</p><p>  第二章,介紹Android平臺(tái)的特征和應(yīng)用構(gòu)成,以及Android的系統(tǒng)構(gòu)造。</p><p>  第三章,介紹游戲的策劃和需求分析過程。</p><p>  第四章,介紹游戲的具體實(shí)現(xiàn)過程。用SQLite數(shù)據(jù)庫存取大容量數(shù)據(jù)源及Share preferences存取臨時(shí)數(shù)據(jù),依照設(shè)定的游戲情節(jié)

26、設(shè)計(jì)游戲控制引擎,設(shè)計(jì)劇情,為玩家提供多點(diǎn)觸控來操縱游戲。</p><p>  第五章,介紹游戲的測(cè)試過程。</p><p>  最后,總結(jié)了本文的工作,提出未來的工作計(jì)劃。</p><p>  2 Android平臺(tái)研究</p><p>  Android是一個(gè)包含操作系統(tǒng)、中介架構(gòu)層及應(yīng)用程序所產(chǎn)生出來的軟件堆棧架構(gòu)。本章通過Androi

27、d的特征和應(yīng)用構(gòu)成介紹Android的開發(fā)平臺(tái),并通過與iPhone比較兩者的優(yōu)缺點(diǎn)。</p><p>  2.1 Android特征</p><p>  Android系統(tǒng)是工作于智能手機(jī)之上的操作系統(tǒng)[5],處處體現(xiàn)了與手機(jī)相關(guān)的特性。由于手機(jī)硬件配置的關(guān)系A(chǔ)ndroid系統(tǒng)與PC機(jī)上的操作系統(tǒng)有著很大的差異。只有充分了解Android系統(tǒng)特性才能開發(fā)出適合手機(jī)運(yùn)用的軟件。以下為And

28、roid SDK2.2的主要特性:</p><p> ?。?)可重用和可替換組件的程序應(yīng)用框架</p><p>  (2)針對(duì)移動(dòng)設(shè)備優(yōu)化過的Dalvik虛擬機(jī)</p><p> ?。?)集成了基于開源Webkit引擎的網(wǎng)頁瀏覽器</p><p>  (4)經(jīng)過優(yōu)化過的自定義2D圖形庫和基于OpenGL ES 1.0庫 可選硬件加速</

29、p><p> ?。?)SQLite結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)數(shù)據(jù)庫</p><p> ?。?)支持常規(guī)的音頻視頻多媒體格式,如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF GSM電話(硬件決定) </p><p> ?。?)藍(lán)牙、GPRS-EDGE、3G和Wifi無線網(wǎng)絡(luò)</p><p> ?。?)相機(jī)、GPS全球定位、導(dǎo)航和感應(yīng)

30、加速器</p><p>  (9)豐富的開發(fā)環(huán)境包含設(shè)備模擬器、工具、調(diào)試器、內(nèi)存和性能分析工具,以及Eclipse集成開發(fā)環(huán)境插件</p><p>  2.2 Android應(yīng)用的構(gòu)成</p><p>  對(duì)于一個(gè)Android應(yīng)用程序來說,是由Activity、IntentReceiver、Service、Content Provider四部分組成[6]。在應(yīng)用

31、程序中使用時(shí),需要在配置文件AndroidManifest.xml中進(jìn)行配置。這個(gè)配置文件是每個(gè)Android應(yīng)用程序所必需的,用于定義應(yīng)用程序的組件、組件的功能以及必要條件等。Android應(yīng)用的構(gòu)成和工作流程如圖2-1所示。 </p><p>  圖2-1 Android的構(gòu)成和工作流程</p><p>  通常由以下四個(gè)組件來構(gòu)建一個(gè)完整的Android應(yīng)用程序[7]。</p&

32、gt;<p><b> ?。?)活動(dòng)</b></p><p><b> ?。?)意圖接收器</b></p><p><b>  (3)服務(wù)</b></p><p><b> ?。?)內(nèi)容提供者</b></p><p>  然而,并不是所有的A

33、ndroid應(yīng)用程序都必須具備上面的四個(gè)組件,可以由上面的一個(gè)或幾個(gè)來組建。當(dāng)決定使用以上哪些組件來構(gòu)建Android應(yīng)用程序時(shí),需要將它們注冊(cè)在AndroidManifest.xml文件中,這是一個(gè)XML配置文件,在這個(gè)文件中可以聲明應(yīng)用程序組件以及它們的特性和要求。這個(gè)配置文件是每個(gè)Android應(yīng)用程序所必需的。</p><p><b>  2.2.1 活動(dòng)</b></p>

34、<p>  活動(dòng)是以上四個(gè)組件中最常用的一個(gè)。每個(gè)活動(dòng)都是Activity的子類,并實(shí)現(xiàn)了一些獨(dú)有的功能,如管理UI顯示和UI的反饋事件。一個(gè)活動(dòng)就相當(dāng)于應(yīng)用程序的一個(gè)用戶界面,由事件響應(yīng)以及視圖等組成。大多數(shù)的應(yīng)用程序通常包括多個(gè)界面。例如:一個(gè)文本聊天應(yīng)用程序,至少應(yīng)該包含一個(gè)聯(lián)系人列表界面、一個(gè)聊天界面、一個(gè)設(shè)置界面、一個(gè)聊天記錄查詢界面等等。每個(gè)界面其實(shí)都可看作是一個(gè)活動(dòng)。顯示一個(gè)新界面就相當(dāng)于生成一個(gè)對(duì)應(yīng)的活動(dòng)對(duì)

35、象。在一些情況下,活動(dòng)能夠返回給它的上級(jí)界面一個(gè)返回值,例如一個(gè)提供給用戶選擇照片的活動(dòng)可以返回給它的調(diào)用者用戶選擇了哪個(gè)照片文件。</p><p>  當(dāng)一個(gè)新的活動(dòng)出現(xiàn)時(shí),前一個(gè)活動(dòng)被中斷并被放入到一個(gè)歷史堆棧中。用戶可以使用返回鍵使前一個(gè)活動(dòng)重現(xiàn)。當(dāng)一個(gè)活動(dòng)不再需要時(shí),可以將它們從歷史堆棧中移除。默認(rèn)情況下,Android會(huì)為每個(gè)應(yīng)用程序保留從主界面開始的歷史堆棧。</p><p>

36、  Android通過一個(gè)被稱作意圖的特殊類,來實(shí)現(xiàn)界面與界面之間的跳轉(zhuǎn)。一個(gè)意圖描述了一個(gè)應(yīng)用程序想要做什么。在意圖的描述結(jié)構(gòu)中,含有兩個(gè)重要的數(shù)據(jù)結(jié)構(gòu):動(dòng)作和動(dòng)作對(duì)應(yīng)的數(shù)據(jù)。典型的動(dòng)作類型包括MAIN、VIEW、PICK、EDIT等等,而動(dòng)作對(duì)應(yīng)的數(shù)據(jù)則以URI的形式表示。例如:顯示一個(gè)聯(lián)系人信息的界面,可以創(chuàng)建一個(gè)意圖,并將它的動(dòng)作設(shè)置成VIEW,數(shù)據(jù)設(shè)置成表示這個(gè)人信息的URI。</p><p>  除此

37、之外,還有一個(gè)被稱作意圖過濾器(IntentFiher)的相關(guān)類。當(dāng)發(fā)生一個(gè)有效的目的請(qǐng)求時(shí),意圖過濾器用來描述一個(gè)活動(dòng)能夠處理什么意圖。如上例中所描述,想要正常顯示一個(gè)聯(lián)系人信息的界面,必須聲明一個(gè)意圖過濾器,它說明當(dāng)有聯(lián)系人數(shù)據(jù)要在界面上顯示時(shí),知道如何處理它們。通常意圖過濾器要被注冊(cè)在AndroidManifest.xml文件中。從一個(gè)界面跳轉(zhuǎn)到另一個(gè)界面是由解析各種意圖實(shí)現(xiàn)的。例如:一個(gè)活動(dòng)使用startActivity(myI

38、ntent)來調(diào)用其他活動(dòng)時(shí),系統(tǒng)會(huì)查找所有已經(jīng)安裝的應(yīng)用程序的意圖過濾器,并從中挑選出能夠匹配myIntent意圖的活動(dòng)。隨后,這個(gè)新的活動(dòng)接收到意圖(myIntent)的通知并開始運(yùn)行。當(dāng)startActivity方法被調(diào)用,解析意圖的處理過程隨之發(fā)生,這個(gè)機(jī)制有以下兩個(gè)突出的優(yōu)點(diǎn):</p><p> ?。?)活動(dòng)可以通過一個(gè)以意圖形式產(chǎn)生的請(qǐng)求來重用其他組件的功能。</p><p>

39、 ?。?)活動(dòng)可以在任何時(shí)候被一個(gè)具有等價(jià)意圖過濾器的新活動(dòng)所替代。</p><p>  2.2.2 意圖接收器</p><p>  當(dāng)想要編寫代碼來對(duì)外部事件做一些處理時(shí),可以使用意圖接收器。意圖接收器并不顯示UI界面,它是通過NotificationManager來通知用戶他們感興趣的事件發(fā)生了。意圖接收器同樣可以被注冊(cè)在AndroidManifest.xml文件中,同時(shí)也可以在代碼中

40、使用Context.registerReceiver()來注冊(cè)自己的意圖接收器。當(dāng)一個(gè)意圖接收器被觸發(fā)時(shí),系統(tǒng)會(huì)根據(jù)需要來啟動(dòng)應(yīng)用程序。</p><p><b>  2.2.3 服務(wù)</b></p><p>  服務(wù)是具有長生命周期并且沒有用戶界面的代碼。Service一般用于需要長時(shí)間在后天運(yùn)行的應(yīng)用。例如,在播放MP3音樂時(shí),使用Service播放MP3音樂,可以

41、在關(guān)閉播放器界面的情況下長時(shí)間播放MP3音樂,并通過對(duì)外公開Service的通信接口,控制MP3音樂播放的啟動(dòng)、暫停和停止。</p><p>  2.2.4 內(nèi)容提供者</p><p>  在Android中,每個(gè)應(yīng)用程序都是有自己的userID及在自己的進(jìn)程中執(zhí)行。這樣做的好處是,可以保護(hù)系統(tǒng)及應(yīng)用程序,避免被其他不正常的應(yīng)用程序所影響??梢园衙總€(gè)進(jìn)程想像成是一個(gè)黑盒子,彼此不會(huì)互相影響

42、,連內(nèi)存的資料都無法共享。如果應(yīng)用程序之間想要共享數(shù)據(jù),就需要使用內(nèi)容提供者。一個(gè)內(nèi)容提供者就是一個(gè)類,它實(shí)現(xiàn)了一個(gè)標(biāo)準(zhǔn)的方法集合。其他的應(yīng)用程序可以使用這些方法來保存和檢索此內(nèi)容提供者處理過的數(shù)據(jù)。</p><p>  2.3 Android的系統(tǒng)構(gòu)架</p><p>  安卓游戲的系統(tǒng)架構(gòu)和其它操作系統(tǒng)一樣,采用了分層的架構(gòu)。從架構(gòu)圖看,android分為四個(gè)層,從高層到低層分別是應(yīng)用

43、程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫層和linux核心層。</p><p>  Android是以Linux為核心的手機(jī)操作平臺(tái),作為一款開放式的操作系統(tǒng),隨著Android的快速發(fā)展,如今已允許開發(fā)者使用多種編程語言來開發(fā)Android應(yīng)用程序,而不再是以前只能使用Java開發(fā)Android應(yīng)用程序的單一局面,因而受到眾多開發(fā)者的歡迎,成為真正意義上的開放式操作系統(tǒng)。</p><p>  

44、在Android中,開發(fā)者可以使用Java作為編程語言來開發(fā)應(yīng)用程序,也可以通過NDK使用C/C++作為編程語言來開發(fā)應(yīng)用程序,也可使用SL4A來使用其他各種腳本語言進(jìn)行編程(如:python、lua、tcl、php等等),還有其他諸如:Qt(qt for android)、Mono(mono for android)等一些著名編程框架也開始支持Android編程,甚至通過MonoDroid,開發(fā)者還可以使用C#作為編程語言來開發(fā)應(yīng)用程

45、序。另外,谷歌還在2009年特別發(fā)布了針對(duì)初學(xué)者的Android Simple語言,該語言類似Basic語言。而在網(wǎng)頁編程語言方面,JavaScript,ajax,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等都已經(jīng)支持Android開發(fā)。而在Android系統(tǒng)底層方面,Android使用C/C++作為開發(fā)語言。</p><p><b>  2.4 本章小結(jié)</b

46、></p><p>  本章簡要闡述游戲的開發(fā)環(huán)境Android的特點(diǎn)和構(gòu)成,然后與iPhone平臺(tái)作比較,最后總結(jié)兩者的優(yōu)缺點(diǎn)。</p><p><b>  3 策劃與需求分析</b></p><p>  本章主要探究游戲的前期策劃工作,從游戲策劃、美工需求和功能需求三個(gè)方面描述游戲的策劃與需求分析過程。</p><

47、p><b>  3.1 游戲策劃</b></p><p>  本游戲是根據(jù)84般小霸王游戲合集里的《雷電》《1943》以及當(dāng)下比較流行的一些西方射擊類游戲?yàn)楸尘邦}材射擊的一款打飛機(jī)的小游戲。很多有游戲經(jīng)歷的玩家一定對(duì)《雷電》不會(huì)陌生,這是一款非常刺激的單機(jī)飛行射擊游戲,今天我設(shè)計(jì)的這款《雷電》可以算的上安卓手機(jī)版的雷電游戲,這款游戲采用玩家比較熟悉的豎版界面,游戲依然以大自然水流動(dòng)為背

48、景,你將感受在海洋上空作戰(zhàn)的不一樣感受,你將操控你的戰(zhàn)機(jī)一步一步深入敵人老巢,并最終將之摧毀。我加入了觸屏效果,使得游戲玩家可以點(diǎn)擊屏幕改變飛機(jī)的位置,使得控制能力更強(qiáng),更有意思。 </p><p>  運(yùn)行的目標(biāo)平臺(tái),本游戲的目標(biāo)平臺(tái)為Android2.2以上的Android手機(jī)。</p><p>  操作方式,本游戲采用Android手機(jī)觸摸屏幕控制游戲,使操作更加簡單方便。</

49、p><p>  游戲使用Eclipse作為主要的開發(fā)工具,使用Photoshop作為圖片處理工具。</p><p><b>  3.2 美工需求</b></p><p>  一款游戲是否受歡迎,取決于它的娛樂性和可觀賞性,高速發(fā)展的游戲產(chǎn)業(yè)使玩家的要求越來越嚴(yán)格,所以游戲的界面美化和圖形設(shè)計(jì)是很重要的[8]。本游戲的一些美工需求如下:</p&

50、gt;<p>  場(chǎng)景:游戲的背景圖片采用動(dòng)態(tài)水流效果,清澈的水流效果使得游戲玩家感覺使得游戲視覺效果更好。 </p><p>  觸屏:游戲的操作采用觸屏的效果,使得游戲的操作性能更佳。</p><p>  圖片:游戲的背景圖片是各種戰(zhàn)斗機(jī)的效果圖,使玩家能看見不同的飛機(jī)效果,吸引玩家眼球。</p><p>  計(jì)劃采用網(wǎng)上素材和設(shè)計(jì)這兩種方式,用P

51、hotoshop等圖片處理軟件處理圖片達(dá)到需要的效果。</p><p><b>  3.3 功能需求</b></p><p>  項(xiàng)目實(shí)現(xiàn)解謎游戲的所有基本功能,同時(shí),為了滿足玩家的個(gè)人需求,在游戲中加入了背景音樂和音效等效果,從而使游戲從感官上更加吸引玩家。在游戲中為了方便玩家的控制,把游戲的控制功能改成觸屏瞬移的效果,可以更好的躲避敵機(jī)和子彈的碰撞。</p&

52、gt;<p>  1. 游戲主界面功能需求</p><p>  良好的用戶界面,能夠在視覺上吸引玩家。為了使界面簡潔美觀,需要在主界面中添加背景圖片來渲染游戲的氣氛,同時(shí)為了便于玩家的操作,需要設(shè)置四個(gè)按鈕供玩家選擇,分別是“開始游戲”、“游戲設(shè)置”、“游戲關(guān)于”、“游戲幫助”、“退出”。這樣的設(shè)置讓用戶一目了然。具體功能如下:</p><p>  (1)開始游戲,點(diǎn)擊跳轉(zhuǎn)到

53、飛機(jī)準(zhǔn)備起航的圖片,點(diǎn)擊圖片開始游戲;</p><p>  (2)游戲設(shè)置,玩家可以選擇是否打開背景音樂和設(shè)置音樂音量的大小; </p><p>  (3)游戲關(guān)于,簡單介紹此游戲的基本功能和玩法;</p><p>  (4)游戲幫助,簡單介紹游戲的背景以及意義;</p><p>  (5)退出,點(diǎn)擊退出游戲。</p><

54、p>  2.用戶注冊(cè)界面的功能需求</p><p>  為了方便記錄玩家的高分記錄,采用用戶登錄注冊(cè)的方式,玩家可以自主登錄游戲也可以注冊(cè)登錄游戲,更有娛樂性。</p><p>  3. 背景音效的功能需求</p><p>  玩家可以自主選擇是否開啟背景音效,也可以調(diào)節(jié)背景音效的音量大小,使得玩家玩游戲時(shí)候,更加輕松、愉悅。</p><p

55、><b>  游戲控制的功能需求</b></p><p>  游戲采用觸屏和鍵盤雙控制操作功能實(shí)現(xiàn),使玩家可以更好、更方便的控制飛機(jī)的位置,更好的避開敵機(jī)的襲擊,創(chuàng)造更高的記錄。</p><p><b>  事件響應(yīng)需求</b></p><p>  事件響應(yīng)分為按鈕響應(yīng)、圖片響應(yīng)、特定區(qū)域響應(yīng),分別對(duì)應(yīng)玩家點(diǎn)擊按鈕、

56、點(diǎn)擊圖片和點(diǎn)擊特定區(qū)域的動(dòng)作,根據(jù)不同動(dòng)作做出不同的響應(yīng)。</p><p>  游戲的功能用例圖如圖3-1所示。</p><p>  圖3-1 游戲功能用例圖</p><p><b>  3.4 本章小結(jié)</b></p><p>  本章詳細(xì)探究了游戲的需求分析,完成了游戲的內(nèi)容設(shè)計(jì)、美工需求和功能需求三個(gè)方面的內(nèi)容。&

57、lt;/p><p><b>  4 設(shè)計(jì)與實(shí)現(xiàn)</b></p><p>  本章詳細(xì)描述該游戲的設(shè)計(jì)與實(shí)現(xiàn)過程。從總體類框架設(shè)計(jì)、界面設(shè)計(jì)、功能設(shè)計(jì)與實(shí)現(xiàn)及卡關(guān)設(shè)計(jì)的解決方案幾個(gè)方面闡述游戲開發(fā)過程。</p><p><b>  4.1 類框架介紹</b></p><p>  該游戲開發(fā)的類比較多,為了

58、更好的理解各個(gè)類在游戲中所扮演的角色,將框架分類并對(duì)各個(gè)類的功能進(jìn)行簡要介紹。</p><p>  游戲的類框架如圖4-1所示。</p><p>  圖4-1 游戲的類框架</p><p><b>  1.公共類</b></p><p>  DataBase_Manager:游戲的數(shù)據(jù)庫設(shè)計(jì),包含代碼創(chuàng)建數(shù)據(jù)庫、數(shù)據(jù)庫幫

59、助類以及對(duì)數(shù)據(jù)進(jìn)行增加、刪除、查詢、判斷等操作的一些方法。</p><p>  Music:游戲的音樂服務(wù)類,包含控制服務(wù)的方法,實(shí)現(xiàn)背景音樂的開關(guān)和音量大小的方法。</p><p>  Bullet:游戲的子彈設(shè)置,包含自己的子彈和敵機(jī)子彈的軌跡,以及boss出現(xiàn)后發(fā)射的矩形彈幕效果。</p><p><b>  游戲主界面相關(guān)類</b>&l

60、t;/p><p>  MMActivity:游戲的用戶登錄界面,包含用戶登錄以及注冊(cè)等功能。</p><p>  RaidenView:游戲功能的實(shí)現(xiàn),包含游戲飛機(jī)、敵機(jī)、子彈、boss、爆炸效果、生命、動(dòng)態(tài)背景等相關(guān)內(nèi)容的功能實(shí)現(xiàn)。</p><p>  meauActivity:游戲主界面,包含初始化服務(wù)、初始化數(shù)據(jù)庫等方法。</p><p>

61、  helpActivity:游戲幫助顯示游戲介紹和幫助信息界面功能的實(shí)現(xiàn)。</p><p>  aboutActivity:游戲關(guān)于界面的跳轉(zhuǎn)的功能實(shí)現(xiàn)。</p><p>  setupActivity:游戲設(shè)置,顯示游戲設(shè)置背景音效和界面跳轉(zhuǎn)的功能實(shí)現(xiàn)。</p><p>  3.游戲運(yùn)行界面相關(guān)類</p><p>  main:游戲菜單界

62、面,游戲的相關(guān)幫助,設(shè)置以及開始游戲等按鈕。</p><p>  youxi:游戲開始,游戲第一關(guān)界面,包含控制跳轉(zhuǎn)和判斷過關(guān)條件的方法。</p><p>  help:游戲幫助文檔界面,關(guān)于游戲的相關(guān)背景,操作方法等內(nèi)容。</p><p>  about:游戲相關(guān)內(nèi)容界面,關(guān)于游戲的相關(guān)設(shè)計(jì)人員,以及意義。</p><p>  set:游戲

63、的音效設(shè)置界面,有關(guān)游戲的背景音效設(shè)置的界面。</p><p>  tianjia:游戲用戶名和密碼的注冊(cè)頁面,設(shè)置關(guān)于用戶的登錄用戶名。</p><p><b>  4.2 界面設(shè)計(jì)</b></p><p>  本游戲的一項(xiàng)難點(diǎn)在界面設(shè)計(jì),好的游戲界面既能使畫面美觀也能提高對(duì)玩家的吸引力。本小節(jié)介紹游戲界面的具體實(shí)現(xiàn)過程,包括主界面、游戲界面

64、和劇情界面的設(shè)計(jì)。</p><p><b>  4.2.1 主界面</b></p><p>  用戶登錄界面由用戶名、密碼、保存用戶名、記住密碼4個(gè)文本框和登陸、注冊(cè)、取消3項(xiàng)按鈕構(gòu)成。在菜單界面的配置文件main.xml中設(shè)置背景圖片的路徑android:background="@drawable/img4",其中img4為圖片的名稱。</

65、p><p><b>  如圖1</b></p><p><b>  圖1</b></p><p>  4.2.2 菜單界面</p><p>  主界面由一張背景圖片和5個(gè)按鈕組成,5個(gè)按鈕為統(tǒng)一風(fēng)格統(tǒng)一大小的按鈕,分別用來實(shí)現(xiàn)開始游戲、游戲設(shè)置、游戲關(guān)于、游戲幫助和退出功能。</p>&l

66、t;p>  游戲啟動(dòng)界面如圖4-2所示。</p><p>  圖4-2 游戲主界面</p><p>  在菜單界面的配置文件meau.xml中設(shè)置背景圖片的路徑android:background="@drawable/yt",其中yt為圖片的名稱。設(shè)置5個(gè)按鈕的名稱、位置、以及按鈕大小。</p><p>  4.2.3 游戲界面</

67、p><p>  點(diǎn)擊開始游戲按鈕,彈出圖片“image”,點(diǎn)擊圖片跳轉(zhuǎn)到游戲界面。</p><p>  4.2.4 背景音效設(shè)置界面</p><p>  游戲設(shè)置界面包含“開”、“關(guān)”兩個(gè)單選按鈕,點(diǎn)擊“開”按鈕響起背景音效,點(diǎn)擊“關(guān)”按鈕關(guān)閉背景音效,玩家可以通過調(diào)節(jié)音量鍵調(diào)節(jié)音量大小。</p><p><b>  4.3 功能實(shí)現(xiàn)&

68、lt;/b></p><p>  本小節(jié)主要介紹游戲功能的具體實(shí)現(xiàn)過程,包括界面跳轉(zhuǎn)、背景音樂控制、保存設(shè)置和物品數(shù)據(jù)操作。闡述了游戲中對(duì)數(shù)據(jù)和控制的實(shí)現(xiàn)方式與步驟。</p><p>  4.3.1 界面跳轉(zhuǎn)與特效</p><p>  本游戲由多個(gè)Activity組成,進(jìn)行界面跳轉(zhuǎn)的時(shí)候就需要用到Activity和Intent來進(jìn)行跳轉(zhuǎn)。例如游戲主界面跳轉(zhuǎn)到開

69、始游戲界面:</p><p>  public void bt1(View v){</p><p>  Intent intent=new Intent(this,youxiActivity.class);</p><p>  startActivity(intent);</p><p><b>  }</b></

70、p><p>  創(chuàng)建一個(gè)Intent,指定由當(dāng)前Activity跳轉(zhuǎn)到preface這個(gè)Activity,把創(chuàng)建好的Intent作為參數(shù)傳遞給startActivity()方法。由于使用多個(gè)Activity,因此需要在AndroidMainfest.xml文件中注冊(cè)這些Activity。使用<activity>標(biāo)簽,嵌套在<application>標(biāo)簽內(nèi)部。</p><p&

71、gt;  其中bt1是在meau.xml中定義的一個(gè)按鈕,定義代碼:</p><p><b>  <Button</b></p><p>  android:id="@+id/button1"</p><p>  android:layout_width="120dp"</p><

72、;p>  android:layout_height="wrap_content"</p><p>  android:layout_marginTop="70dip"</p><p>  android:layout_marginLeft="100dip"</p><p>  android:tex

73、t="開始游戲"</p><p>  android:onClick="bt1"/></p><p>  4.3.2 背景音樂控制</p><p>  游戲中背景音樂沒有界面,不直接與用戶交互,能夠長期在后臺(tái)運(yùn)行。適合用Service來控制在后臺(tái)服務(wù)[9]。</p><p>  在Music.ja

74、va類中定義了一個(gè)Mediaplayer播放器,在方法中定義了音效的播放和停止的方法:</p><p>  public static void onStart(Context context,int startId){</p><p>  player=MediaPlayer.create(context, startId);</p><p>  player.s

75、etLooping(true);</p><p>  player.start();</p><p><b>  }</b></p><p>  public static void stop(Context context){</p><p>  if(player!=null){</p><p&g

76、t;  player.stop();</p><p>  player.release();</p><p>  player=null;</p><p><b>  }</b></p><p>  以及調(diào)節(jié)音量的大小方法,按↑鍵音量增加,按↓鍵音量減少:</p><p>  public boo

77、lean onKeyDown(int keyCode,KeyEvent event){</p><p>  if(keyCode==KeyEvent.KEYCODE_DPAD_UP){</p><p>  am.setStreamVolume(AudioManager.STREAM_MUSIC, currentVol+1, AudioManager.FLAG_PLAY_SOUND);<

78、;/p><p><b>  }</b></p><p>  else if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN){</p><p>  am.setStreamVolume(AudioManager.STREAM_MUSIC, currentVol-1, AudioManager.FLAG_PLAY_SOUND)

79、;</p><p><b>  }</b></p><p>  return super.onKeyDown(keyCode, event);</p><p><b>  }</b></p><p>  在setup.java方法類中定義了點(diǎn)擊按鈕開關(guān)音效的方法,以及監(jiān)聽是否已有背景音效的存在:&l

80、t;/p><p>  public void yy(){</p><p>  if(player!=null){</p><p>  Music.stop(this);</p><p><b>  }</b></p><p><b>  }</b></p><

81、p>  public void bt23(View v){</p><p>  super.onResume();</p><p>  Music.onStart(this,R.raw.foot);</p><p><b>  }</b></p><p>  public void bt24(View v){&

82、lt;/p><p>  super.onPause();</p><p>  Music.stop(this); </p><p><b>  }</b></p><p>  4.3.3 用戶登錄和注冊(cè)</p><p>  用戶的登錄用戶名和密碼的記錄和保存:</p><p>

83、;  public void btn_save_click(View v){</p><p>  SharedPreferences.Editor editer=preference.edit();</p><p>  editer.putString("name", name_text.getText().toString());</p><p&g

84、t;  editer.commit();</p><p><b>  }</b></p><p>  public void btn_save_mima(View v){</p><p>  SharedPreferences.Editor editer=preference.edit();</p><p>  edit

85、er.putString("mima", mima_text.getText().toString());</p><p>  editer.commit();</p><p>  用戶的登錄用戶名和密碼是否正確的判斷:</p><p>  public void bt9(View v){</p><p>  Boolea

86、n result = false;</p><p><b>  try {</b></p><p>  result = Database_helper.InquireTable_Name(name_text.getText().toString().trim(), mima_text.getText().toString().trim());</p>

87、<p>  Log.i("zx", ""+result);</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  if(result){

88、</p><p>  // Toast.makeText(this, cursor.getString(1)+"你好", Toast.LENGTH_SHORT).show();</p><p>  Intent intent=new Intent(this,setupActivity.class);</p><p>  this.startAct

89、ivity(intent);</p><p><b>  }else{</b></p><p>  Toast.makeText(this, "用戶名或密碼錯(cuò)誤", Toast.LENGTH_LONG).show();</p><p><b>  }</b></p><p>  

90、用戶注冊(cè)功能的實(shí)現(xiàn):</p><p>  public void btn_studentinfo_add(View v){</p><p><b>  try {</b></p><p>  dataBase_Manager.CreateTable();</p><p>  } catch (Exception e1)

91、{</p><p>  // TODO Auto-generated catch block</p><p>  e1.printStackTrace();</p><p><b>  } </b></p><p><b>  try{</b></p><p>  dataB

92、ase_Manager.InsertTable(editText_name.getText().toString().trim(), editText_password.getText().toString().trim());</p><p>  Toast.makeText(this, "注冊(cè)成功", Toast.LENGTH_SHORT).show();</p><p

93、>  }catch(Exception e){</p><p>  Toast.makeText(this, "用戶名或密碼不合法", Toast.LENGTH_LONG).show();</p><p><b>  }</b></p><p>  Intent intent=new Intent();</p&g

94、t;<p>  this.setResult(RESULT_OK, intent);</p><p><b>  finish();</b></p><p><b>  }</b></p><p>  4.3.2 游戲中子彈、敵機(jī)的定義</p><p><b>  //炸彈效

95、果</b></p><p>  public void bombEffect(){</p><p>  if(bomby>-97){</p><p>  Bitmap myplane = BitmapFactory.decodeResource(this.getResources(), R.drawable.myplane);</p>

96、<p>  Matrix matrix = new Matrix();</p><p>  bomby -= 24;</p><p>  matrix.setTranslate((width-172)/2, bomby);</p><p>  canvas.drawBitmap(myplane, matrix, paint);</p>&l

97、t;p>  ebullets.removeAll(ebullets);</p><p>  bossbullets.removeAll(bossbullets);</p><p>  bossbullets1.removeAll(bossbullets1);</p><p>  bossbullets2.removeAll(bossbullets2);<

98、/p><p><b>  }else{</b></p><p>  bombon=false;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //花形彈幕繪制</b><

99、/p><p>  public void bulletStorm(){</p><p>  Bitmap cbullet = BitmapFactory.decodeResource(this.getResources(), R.drawable.bossbullet);</p><p>  for(int r = 30,d = 0;r<90;r++){</

100、p><p><b>  d = d+10;</b></p><p>  int bx = (int) (160+r*Math.cos(d));</p><p>  int by = (int) (100+r*Math.sin(d));</p><p>  Bullet cbull = new Bullet(bx-80+bos

101、sx,by,cbullet,0);</p><p>  cbull.draw4(canvas);</p><p>  bossbullets.add(cbull);</p><p><b>  }</b></p><p><b>  }</b></p><p><b&g

102、t;  //矩形彈幕繪制</b></p><p>  public void bulletStorm1(){</p><p>  if(time%30==0&time%90<=40){</p><p>  Bitmap bbullet = BitmapFactory.decodeResource(this.getResources(), R

103、.drawable.bossbullet);</p><p>  int i = time/90;</p><p>  Bullet bossbullet = null;</p><p>  if(i<=85){</p><p>  if(i<=16){</p><p>  bossbullet = new

104、 Bullet(20*i,50,bbullet,time);</p><p>  bossbullets2.add(bossbullet);</p><p>  }else if(i>16&i<=20){</p><p>  bossbullet = new Bullet(300,30+20*(i-15),bbullet,time);</p

105、><p>  bossbullets2.add(bossbullet);</p><p>  }else if(i>20&i<=35){</p><p>  bossbullet = new Bullet(340-20*(i-19),150,bbullet,time);</p><p>  bossbullets2.add(b

106、ossbullet);</p><p>  }else if(i>35&i<=40){</p><p>  bossbullet = new Bullet(0,210-20*(i-33),bbullet,time);</p><p>  bossbullets2.add(bossbullet);</p><p><b

107、>  }</b></p><p><b>  }else{</b></p><p><b>  time = 0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p&

108、gt;<b>  }</b></p><p>  //繪圖(飛機(jī),子彈,分?jǐn)?shù),血條等)</p><p>  public void draw() {</p><p><b>  if(flag){</b></p><p>  if(time%2100==0){</p><p>

109、;  bulletStormCreate = true;</p><p><b>  }</b></p><p>  canvas = sh.lockCanvas();</p><p>  canvas.drawColor(Color.BLACK);</p><p>  canvas.drawBitmap(backgro

110、und, height1,0,new Paint());</p><p>  height1+=5;</p><p>  if(height1>=0)</p><p>  height1=-background.getWidth()+this.getWidth();</p><p><b>  //生命值顯示</b>

111、;</p><p>  life = BitmapFactory.decodeResource(this.getResources(), R.drawable.life);</p><p>  for(int i = 0;i<ilife;i++){</p><p>  canvas.drawBitmap(life, 10+20*i,10, null);<

112、/p><p><b>  }</b></p><p>  //boss的左右循環(huán)移動(dòng)</p><p>  Matrix matrix = new Matrix();</p><p>  if(flagboss){</p><p>  matrix.setTranslate(bossx++, bossy

113、);</p><p>  if(bossx==144){</p><p>  flagboss = false;</p><p><b>  }</b></p><p><b>  }else{</b></p><p>  matrix.setTranslate(bossx-

114、-, bossy);</p><p>  if(bossx==0){</p><p>  flagboss = true;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //分?jǐn)?shù)繪制</b>&

115、lt;/p><p>  paint.setColor(Color.WHITE);</p><p>  canvas.drawText("Score:"+ score, 140, 30, paint);</p><p>  //boss出來后 撒彈幕 顯boss血條</p><p>  if(warning){</p>

116、;<p>  canvas.drawBitmap(boss, matrix, null);</p><p>  bulletStorm1();</p><p><b>  time+=30;</b></p><p>  canvas.drawText("boss:", 255, 50, paint);</

117、p><p>  int lifered = 30+(bosslife*(RaidenView.this.getHeight()-60)/500);</p><p>  if(lifegray>lifered){</p><p>  lifegray-=2;</p><p><b>  }</b></p>

118、<p>  System.out.println(lifered+" "+lifegray);</p><p>  paint.setColor(Color.RED);</p><p>  Rect rect4 = new Rect(RaidenView.this.getWidth()-30,30,RaidenView.this.getWidth()-10,l

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論