版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> ?。?0 屆)</b></p><p> 跑酷游戲的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p&
2、gt; AbstractII</p><p><b> 1 緒論1</b></p><p> 1.1 選題背景和研究意義1</p><p> 1.2 國(guó)內(nèi)外游戲發(fā)展現(xiàn)狀2</p><p> 1.3 本人所做的主要工作6</p><p> 1.4 課題所涉及的關(guān)鍵技術(shù)6<
3、;/p><p><b> 2 需求分析8</b></p><p> 2.1 系統(tǒng)概述8</p><p> 2.2 功能需求8</p><p> 2.2.1 功能總體描述8</p><p> 2.2.2 玩家移動(dòng)我方角色概述10</p><p> 2.2.3
4、 操作游戲角色獲得道具概述11</p><p> 2.2.4 虛擬玩家產(chǎn)生敵人前的提示12</p><p> 2.2.5 虛擬玩家產(chǎn)生敵人14</p><p> 2.2.6 虛擬玩家的移動(dòng)15</p><p> 2.2.7 虛擬玩家的移動(dòng)動(dòng)畫(huà)16</p><p> 2.2.8 玩家的碰撞16<
5、;/p><p> 2.2.9 玩家的死亡18</p><p> 2.2.10 食物的產(chǎn)生18</p><p> 2.2.11 道具的產(chǎn)生20</p><p> 2.2.12 背景音樂(lè)21</p><p> 2.3 性能需求22</p><p><b> 3 系統(tǒng)設(shè)計(jì)
6、23</b></p><p> 3.1 系統(tǒng)總體結(jié)構(gòu)23</p><p> 3.2 游戲畫(huà)面設(shè)計(jì)25</p><p> 3.3 玩家控制角色設(shè)計(jì)26</p><p> 3.4 敵人角色設(shè)計(jì)27</p><p> 3.5 游戲控制類(lèi)設(shè)計(jì)28</p><p> 3.
7、6 背景類(lèi)設(shè)計(jì)29</p><p> 3.7 道具類(lèi)設(shè)計(jì)30</p><p> 3.8 食物類(lèi)設(shè)計(jì)30</p><p> 3.9 背景音樂(lè)類(lèi)設(shè)計(jì)31</p><p><b> 4 系統(tǒng)實(shí)現(xiàn)33</b></p><p> 4.1 我方角色移動(dòng)功能實(shí)現(xiàn)33</p>
8、<p> 4.1.1 實(shí)現(xiàn)原理33</p><p> 4.1.2 我方角色移動(dòng)33</p><p> 4.2 游戲主控類(lèi)實(shí)現(xiàn)34</p><p> 4.2.1 實(shí)現(xiàn)原理34</p><p> 4.2.2 主控類(lèi)的實(shí)現(xiàn)34</p><p><b> 5 系統(tǒng)測(cè)試43<
9、/b></p><p> 5.1 系統(tǒng)測(cè)試總體概述43</p><p> 5.1.1 系統(tǒng)測(cè)試的目的43</p><p> 5.1.2 游戲系統(tǒng)測(cè)試的方案43</p><p> 5.1.3 游戲測(cè)試的范圍44</p><p> 5.2 游戲測(cè)試設(shè)計(jì)44</p><p&
10、gt; 5.3 測(cè)試環(huán)境44</p><p> 5.4 測(cè)試記錄44</p><p> 6 結(jié)語(yǔ)與展望49</p><p><b> 致謝51</b></p><p> 參 考 文 獻(xiàn)52</p><p><b> 附錄53</b></p>
11、;<p><b> 硬件要求53</b></p><p> 軟件要求及部署步驟53</p><p><b> 摘 要</b></p><p> 進(jìn)入21世紀(jì),電子游戲吸收傳統(tǒng)視聽(tīng)數(shù)碼娛樂(lè)的精華,集高科技、娛樂(lè)性、交換性、競(jìng)技性、仿真性等諸多娛樂(lè)要素之大成,已經(jīng)成為當(dāng)今電子娛樂(lè)產(chǎn)業(yè)的前沿和先鋒
12、產(chǎn)業(yè)。毫不夸張地說(shuō),目前游戲產(chǎn)業(yè)已經(jīng)制造了一個(gè)經(jīng)濟(jì)增長(zhǎng)的“超級(jí)帝國(guó)”,并在標(biāo)志著國(guó)民經(jīng)濟(jì)發(fā)展水平的第三產(chǎn)業(yè)上發(fā)揮著重要作用。</p><p> 隨著各方面因素對(duì)游戲發(fā)展的促進(jìn)作用,在未來(lái)一段時(shí)間內(nèi),游戲的需求量將會(huì)穩(wěn)步提升。開(kāi)發(fā)出高性能、高可玩性、高豐富性的游戲?qū)τ陂_(kāi)發(fā)者來(lái)說(shuō)是必然的要求。只有通過(guò)游戲的吸引力才能留住玩家。本課題所設(shè)計(jì)的游戲是Windows平臺(tái)和手機(jī)平臺(tái)上的跑酷游戲。游戲操作起來(lái)簡(jiǎn)單,玩家只需要
13、簡(jiǎn)短的試玩就可快速掌握,這極大縮短了游戲體驗(yàn)者的上手時(shí)間。游戲設(shè)計(jì)為簡(jiǎn)易的跑酷題材,趣味性強(qiáng),在體驗(yàn)游戲的過(guò)程中,可以鍛煉自己的注意力、培養(yǎng)思維敏捷度,當(dāng)玩通游戲是,會(huì)帶來(lái)強(qiáng)烈的滿足感,增加自信心。此款游戲,在課余時(shí)間可以作為休息娛樂(lè)的很好選擇。綜上所述,此類(lèi)游戲娛樂(lè)益智,發(fā)展前景良好。本文就手機(jī)游戲的起源與發(fā)展著手,簡(jiǎn)單介紹了手機(jī)游戲的國(guó)內(nèi)外研究現(xiàn)狀、本課題的關(guān)鍵算法、以及軟件開(kāi)發(fā)各個(gè)步驟。</p><p>
14、 關(guān)鍵字:國(guó)民經(jīng)濟(jì) 電子娛樂(lè)手機(jī)游戲 游戲策略發(fā)展前景 跑酷</p><p><b> Abstract</b></p><p> In the 21st century, electronic games absorb the essence of the traditional audio-visual digital entertainment s
15、etting the high-tech, entertainment, exchangeable, sports, simulation and many other entertainment elements of the culmination of the electronic entertainment industry has become the leading and pioneer industries. It is
16、 no exaggeration to say that the current game industry has created an economic growth of the "super-empire", and signifies the level of economic development of the tert</p><p> With the promoting
17、effect of various factors on the development of the game, in the next period of time, demand will steadily increase the game. Development of high performance, high playability, high abundance of game for developers is th
18、e inevitable requirement. Only through the game's attraction to keep the game player. The design of the game is the Windows platform and mobile phone platforms Run away game. The game operate simple, need only a shor
19、t demo game player can quickly grasp, which g</p><p> Key words:National Economy Electronic Entertainment Mobile Phonegame Game Strategy Prospects Parkour</p><p><b> 緒論</b><
20、/p><p><b> 選題背景和研究意義</b></p><p> 電子游戲(Electronic Games)又稱(chēng)視頻游戲(Video Games)或者電玩游戲(簡(jiǎn)稱(chēng)電玩),是指在自然游戲行為過(guò)程中,依靠電子設(shè)備作為媒介的娛樂(lè)行為。根據(jù)媒介的不同多分為四種:電腦游戲、主機(jī)游戲、便攜游戲和街機(jī)游戲。完善的電子游戲在20世紀(jì)末出現(xiàn),改變了人類(lèi)進(jìn)行游戲的行為方式和對(duì)游戲
21、一詞的定義,屬于一種隨科技發(fā)展而誕生的文化活動(dòng)。電子游戲也可代指“電子游戲軟件”。</p><p> 目前游戲產(chǎn)業(yè)可謂飛速的發(fā)展,每年創(chuàng)造出若干億的財(cái)富。這些財(cái)富引起了各個(gè)商家的廣泛關(guān)注,同時(shí)政府也看到了這個(gè)產(chǎn)業(yè)的巨大潛力,并且積極的支持產(chǎn)業(yè)的發(fā)展,同時(shí)大力的扶持。不過(guò),支持在產(chǎn)業(yè)發(fā)展的同時(shí),政府在初期并未意識(shí)到,業(yè)界發(fā)展所必然產(chǎn)生的種種社會(huì)問(wèn)題。等到這些問(wèn)題比較嚴(yán)重的暴露以后,才想起來(lái)治理,恐怕有些為時(shí)已晚了
22、。實(shí)際上,游戲產(chǎn)業(yè)帶來(lái)的問(wèn)題,在其他的國(guó)家也曾經(jīng)出現(xiàn)過(guò)。不過(guò)似乎這些問(wèn)題沒(méi)有那么突出。我個(gè)人感覺(jué)其中的主要原因在于,我國(guó)游戲廠商缺少一種發(fā)展的眼光,總是跟在別人的后面跑,看到什么游戲類(lèi)型火就一窩蜂的作什么。等到資源被挖盡了,在去尋找另一個(gè)資源。沒(méi)有找到新資源的廠商只有倒閉的份了??烧业叫碌馁Y源的廠商,由于之前沒(méi)有進(jìn)行其內(nèi)部的技術(shù)升級(jí),往往也免不了厄運(yùn)的降臨。</p><p><b> 國(guó)內(nèi)外游戲發(fā)展現(xiàn)
23、狀</b></p><p><b> 歐美游戲市場(chǎng):</b></p><p> 歐美游戲市場(chǎng)歐美游戲市場(chǎng)歐美游戲市場(chǎng):在全球市場(chǎng)中占有極為重要的地位: ① 屬于發(fā)達(dá)國(guó)家,人均收入較高 ;② 網(wǎng)絡(luò)普及,基礎(chǔ)設(shè)施完善.;③ 技術(shù)先進(jìn),微軟的操作平臺(tái);④ 十分重視娛樂(lè)活動(dòng);⑤ 游戲的發(fā)源地,游戲文化濃厚; ⑥ 目前美國(guó)主要游戲市場(chǎng)是歐美地區(qū)以及歐美傳統(tǒng)文化想
24、接近的國(guó)家和地區(qū); ⑦ 休閑游戲和棋牌游戲視為未來(lái)網(wǎng)絡(luò)游戲市場(chǎng)的主力軍,隨著玩家對(duì)多人聯(lián)機(jī)游戲的需求高漲以及硬件技術(shù)的發(fā)展,電視游戲機(jī)具有網(wǎng)上功能,例如微軟的xbox就可以同時(shí)支持電視游戲和網(wǎng)絡(luò)游戲。這一趨勢(shì)將有可能引起北美游戲市場(chǎng)的新一輪變化。</p><p> 獨(dú)具特色社會(huì)主義的中國(guó)市場(chǎng): </p><p> 中國(guó)具有數(shù)量龐大的單機(jī)游戲,電視游戲和掌機(jī)游戲玩家群體,但是國(guó)內(nèi)卻幾乎沒(méi)
25、有生產(chǎn)游戲機(jī)和制作相關(guān)游戲的較完善競(jìng)爭(zhēng)力較強(qiáng)的公司。</p><p> 世界游戲巨頭們覬覦中國(guó)市場(chǎng)已久,耗費(fèi)了大量的金錢(qián)和心血卻始終不能名正言順的在這片土地上立足。</p><p> 新的市場(chǎng):網(wǎng)頁(yè)游戲和手機(jī)游戲 。① 隨著web技術(shù)的發(fā)展,不需要安裝龐大的客戶端、占時(shí)少、操作簡(jiǎn)單的輕量級(jí)的網(wǎng)頁(yè)游戲開(kāi)始興起。這種娛樂(lè)游戲主要深受辦公室白領(lǐng)們歡迎的,因?yàn)樗麄児ぷ鲏毫Υ蠖覜](méi)有時(shí)間和精力去
26、玩大型游戲,這促進(jìn)了網(wǎng)頁(yè)游戲的發(fā)展;手機(jī)游戲是指運(yùn)行于手機(jī)上的游戲軟件。目前用來(lái)編寫(xiě)手機(jī)最多的程序是Java語(yǔ)言,見(jiàn)J2ME。其次是C語(yǔ)言。隨著科技的發(fā)展,現(xiàn)在手機(jī)的功能也越來(lái)越多,越來(lái)越強(qiáng)大。而手機(jī)游戲也遠(yuǎn)遠(yuǎn)不是我們印象中的什么“俄羅斯方塊”捕魚(yú)達(dá)人“貪吃蛇”之類(lèi)畫(huà)面簡(jiǎn)陋,規(guī)則簡(jiǎn)單的游戲,進(jìn)而發(fā)展到了可以和掌上游戲機(jī)媲美,具有很強(qiáng)的娛樂(lè)性和交互性的復(fù)雜形態(tài)了。現(xiàn)在又有了堪比電腦游戲的網(wǎng)頁(yè)游戲。于是,拋棄你的隨身聽(tīng)和Gameboy,買(mǎi)一
27、個(gè)好手機(jī)吧,你會(huì)發(fā)現(xiàn),一個(gè)手機(jī)已經(jīng)足夠滿足你所有路途中的大部分娛樂(lè)需要了。② 較低的投資成本,較短的回報(bào)周期,以及高額的利潤(rùn),讓許多國(guó)內(nèi)游戲廠商在這塊相對(duì)空白的市場(chǎng)競(jìng)爭(zhēng);③ 到了2012年,國(guó)內(nèi)的網(wǎng)頁(yè)游戲市場(chǎng)急速膨脹上百款新型網(wǎng)頁(yè)游戲涌入市場(chǎng),玩家超過(guò)2000萬(wàn),市場(chǎng)總規(guī)模超過(guò)8億元,產(chǎn)品類(lèi)型也從單一的策略類(lèi)型向角色扮演、模擬經(jīng)營(yíng)、休閑等多種方向發(fā)展。資</p><p> 以下是我國(guó)游戲用戶規(guī)模趨勢(shì)圖:<
28、/p><p> 圖1-1 頁(yè)游用戶規(guī)模趨勢(shì)圖</p><p> 圖1-2 手游用戶規(guī)模趨勢(shì)圖</p><p> 圖1-3 手游用戶地域分布圖</p><p> 圖1-4 手游用戶性別結(jié)構(gòu)圖</p><p> 圖1-5 手游用戶平均使用時(shí)長(zhǎng)圖</p><p> 圖1-6 手游用戶上網(wǎng)方式圖
29、</p><p><b> 本人所做的主要工作</b></p><p><b> 分析游戲需求</b></p><p><b> 制作并收集游戲素材</b></p><p> 設(shè)計(jì)游戲框架,優(yōu)化游戲結(jié)構(gòu)</p><p> 建立三維游戲場(chǎng)景模型&
30、lt;/p><p><b> 制作游戲角色</b></p><p> 實(shí)現(xiàn)編碼工作,編碼過(guò)程中運(yùn)用白盒測(cè)試查找程序錯(cuò)誤</p><p> 運(yùn)用軟件測(cè)試?yán)碚?,進(jìn)行游戲α測(cè)試</p><p> 交由同學(xué)進(jìn)行游戲?qū)嶋H運(yùn)行時(shí)的β測(cè)試</p><p> 記錄并且分析游戲測(cè)試結(jié)果</p>
31、<p> 修正軟件缺陷,增強(qiáng)游戲體驗(yàn)感</p><p> 游戲完成后,撰寫(xiě)設(shè)計(jì)報(bào)告</p><p> 課題所涉及的關(guān)鍵技術(shù)</p><p> 框架:Starling</p><p> Starling 是在 Stage3D APIs 基礎(chǔ)上開(kāi)發(fā)的一種 ActionScript 3 2D 框架(可用于 Flash Playe
32、r 11 和 Adobe AIR 3的桌面)。 Starling 是為游戲開(kāi)發(fā)設(shè)計(jì)的,但是你可以將它應(yīng)用于很多其它的應(yīng)用程序。 在不必涉及低級(jí) Stage3D APIs 情況下,Starling 使得編寫(xiě)具有快速 GPU 加速功能的應(yīng)用程序成為可能。</p><p> 大多數(shù) Flash 開(kāi)發(fā)人員希望利用這種能力提高 GPU 的加速功能(通過(guò)使用 Stage3D 技術(shù)),而不必編寫(xiě)如此高級(jí)的框架和深入研究低級(jí)的
33、 Stage3D APIs。 Starling 是完全基于 Flash Player APIs 而設(shè)計(jì),并將 Stage3D(Molehill)復(fù)雜性抽象化。 因此每個(gè)人都能看到直觀的程序。</p><p> 絕大多數(shù)的Flash開(kāi)發(fā)人員都想很輕松地在自己的開(kāi)發(fā)中用上GPU 的加速功能而不必自己去鉆研那些復(fù)雜的底層Stage3D API 并自己寫(xiě)一套框架出來(lái)。Starling是一個(gè)完全基于Flash Playe
34、r 的API 開(kāi)發(fā)的框架,它將復(fù)雜的Stage3D(官方稱(chēng)之為 Molehill) API 抽象、封裝起來(lái)并允許開(kāi)發(fā)者能夠非常輕松、直觀地使用Stage3D 的功能。 </p><p> 很顯然,Starling是為那些ActionScript3 的開(kāi)發(fā)人員,特別是那些開(kāi)發(fā)2D游戲的人服務(wù)的,當(dāng)然,在使用它之前你必須得對(duì)ActionScript 3 有一個(gè)基本的了解才行。介于Starling輕量級(jí)、靈活性高以
35、及易于使用的特點(diǎn),它可以被用到其他的一些方面,如UI (可視化組件)的制作上去??梢哉f(shuō),使用 Starling寫(xiě)的代碼是盡可能地直觀易懂,即使是 Java 或.NET 開(kāi)發(fā)人員也能夠很快地掌握其中奧秘。</p><p> 特效:ParticleDesigner</p><p> 本課題中,為了使得游戲畫(huà)面友好,以及顯示游戲特殊狀態(tài),我使用了工具ParticleDesigner。<
36、/p><p> 動(dòng)畫(huà):MovieClip</p><p> 本課題中,無(wú)論是玩家控制的角色,還是電腦控制的角色都有自己獨(dú)特的動(dòng)畫(huà)。</p><p> 動(dòng)畫(huà)的實(shí)質(zhì)就是一張張圖片連在一起按順序播放,通過(guò)每幀更換紋理。</p><p><b> 需求分析</b></p><p><b>
37、 系統(tǒng)概述</b></p><p> 跑酷游戲,是一款以人物角色為題材的游戲,此游戲仿照經(jīng)典游戲天天酷跑并加以改變而來(lái)。本游戲操作簡(jiǎn)單,娛樂(lè)益智,適合在學(xué)習(xí)工作之余緩解壓力,也可鍛煉玩家的反應(yīng)能力。</p><p><b> 功能需求</b></p><p><b> 功能總體描述</b></p&g
38、t;<p> 游戲中的角色分為兩大類(lèi),一類(lèi)是我方角色,另一類(lèi)是敵方角色。我方游戲角色由玩家控制,敵方角色由電腦控制,在這里我把電腦稱(chēng)作虛擬玩家(下文中都用此稱(chēng)法)。虛擬玩家會(huì)生成各種敵人,并控制它們,使它們處于不同的狀態(tài)。</p><p> 我方角色Person在玩家的控制下移動(dòng)閃躲,如果被虛擬玩家控制的角色撞上,我方角色死亡。在面對(duì)敵人時(shí),要考驗(yàn)玩家的操作技術(shù)。當(dāng)Person堅(jiān)持相應(yīng)時(shí)間后,游
39、戲難度加大,比如移動(dòng)速度加快,虛擬玩家控制的角色變多等等。</p><p> 系統(tǒng)功能總體用例圖如圖2-1所示:</p><p> 圖2-1 系統(tǒng)功能總體用例圖</p><p> 播放音效:游戲開(kāi)始時(shí)播放背景音樂(lè)。系統(tǒng)應(yīng)具備以下功能:</p><p> 玩家移動(dòng)我方角色:游戲玩家可以通過(guò)點(diǎn)擊上、下按鈕實(shí)現(xiàn)角色的上下移動(dòng)。</p&
40、gt;<p> 我方游戲角色吃道具:屏幕右方會(huì)不時(shí)產(chǎn)生道具,移動(dòng)Hero撿道具,擁有收集屏幕上食物的功能和Hero無(wú)敵功能。</p><p> 虛擬玩家生成敵人產(chǎn)生前的提示:計(jì)算機(jī)系統(tǒng)根據(jù)虛擬時(shí)間不定時(shí)的創(chuàng)建提示。</p><p> 虛擬玩家生成敵人:計(jì)算機(jī)系統(tǒng)根據(jù)敵人產(chǎn)生前的提示創(chuàng)建敵人。</p><p> 虛擬玩家的移動(dòng):系統(tǒng)根據(jù)虛擬時(shí)間以
41、及敵人時(shí)時(shí)坐標(biāo),對(duì)敵人的位置進(jìn)行移動(dòng),產(chǎn)生行進(jìn)的效果。</p><p> 顯示撞擊效果:當(dāng)Hero撞上虛擬玩家,或者虛擬玩家撞上Hero,虛擬玩家產(chǎn)生撞毀效果。</p><p> 播放音效:游戲開(kāi)始時(shí)播放背景音樂(lè)。</p><p> 玩家移動(dòng)我方角色概述</p><p> 游戲玩家可以通過(guò)點(diǎn)擊界面上的上、下按鈕控制角色的上下移動(dòng),用以
42、躲避敵人或者吃食物道具。</p><p> 圖2-2 玩家移動(dòng)Hero用例圖</p><p> 表2-1 玩家移動(dòng)Hero用例說(shuō)明</p><p> 操作游戲角色獲得道具概述</p><p> 在游戲進(jìn)行的過(guò)程中,計(jì)算機(jī)系統(tǒng)(虛擬玩家)會(huì)不時(shí)的產(chǎn)生道具。玩家控制角色移動(dòng),當(dāng)hero與道具接觸時(shí),角色就會(huì)吃到道具,碰撞成功后該角色做出相
43、應(yīng)的反應(yīng)。其用例圖如圖2-3所示:</p><p> 圖2-3 玩家撿道具用例圖</p><p> 表2-2 操作游戲角色獲得道具用例說(shuō)明</p><p> 虛擬玩家產(chǎn)生敵人前的提示</p><p> 該游戲產(chǎn)生敵人前會(huì)在屏幕的最右方產(chǎn)生提示,表面在一段時(shí)間后會(huì)從這個(gè)位置產(chǎn)生敵人。其用例圖如圖2-4所示:</p><
44、;p> 圖2-4 虛擬玩家產(chǎn)生提示用例圖</p><p> 表2-3 虛擬玩家產(chǎn)生提示用例說(shuō)明</p><p><b> 虛擬玩家產(chǎn)生敵人</b></p><p> 在虛擬玩家產(chǎn)生提示過(guò)后從該位置產(chǎn)生一個(gè)敵人,而且從有的幾種敵人背景隨機(jī)來(lái)產(chǎn)生一種背景。其用例圖如圖2-5所示:</p><p> 圖2-5
45、虛擬玩家產(chǎn)生敵人用例圖</p><p> 表2-4 虛擬玩家產(chǎn)生敵人用例說(shuō)明</p><p><b> 虛擬玩家的移動(dòng)</b></p><p> 敵人的移動(dòng)是在一條直線上,只需要從屏幕的右邊移動(dòng)到左邊。隨著游戲時(shí)間的增加,移動(dòng)速度會(huì)越來(lái)越快。其用例圖如圖2-6所示:</p><p> 圖2-6 虛擬玩家的移動(dòng)用例
46、圖</p><p> 表2-5 虛擬玩家的移動(dòng)用例說(shuō)明</p><p><b> 虛擬玩家的移動(dòng)動(dòng)畫(huà)</b></p><p> 敵人在移動(dòng)過(guò)程中,會(huì)做出相應(yīng)的動(dòng)畫(huà)效果。其用例圖如圖2-7所示:</p><p> 圖2-7 虛擬玩家的移動(dòng)動(dòng)畫(huà)用例圖</p><p> 表2-6 虛擬玩家的移
47、動(dòng)動(dòng)畫(huà)用例說(shuō)明</p><p><b> 玩家的碰撞</b></p><p> 在游戲過(guò)程中,玩家可能由于操作失誤,撞上虛擬玩家。其用例圖如圖2-8所示:</p><p> 圖2-8 玩家的碰撞用例圖</p><p> 表2-7 玩家的碰撞用例說(shuō)明</p><p><b> 玩
48、家的死亡</b></p><p> 無(wú)論是玩家控制的角色,還是虛擬玩家控制的敵人,在雙方碰撞后會(huì)進(jìn)行相應(yīng)的變化:如果碰撞后玩家控制的角色HP小于1,則不但敵人的狀態(tài)會(huì)變?yōu)榇輾顟B(tài),而且我方角色也會(huì)下掉。其用例圖如圖2-9所示:</p><p> 圖2-9 玩家的死亡用例圖</p><p> 表2-8 玩家的死亡用例說(shuō)明</p><
49、;p><b> 食物的產(chǎn)生</b></p><p> 在游戲過(guò)程中,伴隨著食物的產(chǎn)生,而吃掉食物能增加該游戲的最后得分。其用例圖如圖2-10所示:</p><p> 圖2-10 食物的產(chǎn)生用例圖</p><p> 表2-9 食物的產(chǎn)生用例說(shuō)明</p><p><b> 道具的產(chǎn)生</b&g
50、t;</p><p> 在游戲過(guò)程中,有特殊功能的道具產(chǎn)生,玩家控制的角色吃掉后會(huì)獲得相應(yīng)的狀態(tài)。其用例圖如圖2-11所示:</p><p> 圖2-11 道具的產(chǎn)生用例圖</p><p> 表2-10 食物的產(chǎn)生用例說(shuō)明</p><p><b> 背景音樂(lè)</b></p><p> 背
51、景音樂(lè)(Background music,簡(jiǎn)稱(chēng)BGM),也稱(chēng)配樂(lè),通常是指在電視劇、電影、動(dòng)畫(huà)、電子游戲、網(wǎng)站中用于調(diào)節(jié)氣氛的一種音樂(lè),插入于對(duì)話之中,能夠增強(qiáng)情感的表達(dá),達(dá)到一種讓觀眾身歷其境的感受。另外,在一些公共場(chǎng)合(如酒吧、咖啡廳、商場(chǎng))播放的音樂(lè)也稱(chēng)背景音樂(lè)。在本游戲中,由于素材的限制,只有從頭到尾的一中背景音樂(lè)。其用例圖如圖2-12所示:</p><p> 圖2-12 背景音樂(lè)用例圖</p&g
52、t;<p> 表2-11 背景音樂(lè)用例說(shuō)明</p><p><b> 性能需求</b></p><p> 本課題是游戲設(shè)計(jì)制作,一款好的游戲必須具備出色的性能。首先,一款游戲有目的性的,本游戲是為了鍛煉反應(yīng)能力和放松大腦。其次,要有一定的可玩性,通過(guò)難度、道具、關(guān)卡和角色等等,增加了趣味性。再次,游戲需要具備較好的畫(huà)面水準(zhǔn),這點(diǎn)我充分的考慮到了,并
53、且我也收集制作了很多圖片素材運(yùn)用到游戲中,使得游戲開(kāi)起來(lái)比較精美。最后,要有流暢性,盡可能做到效率高、不出錯(cuò)等。</p><p><b> 系統(tǒng)設(shè)計(jì)</b></p><p><b> 系統(tǒng)總體結(jié)構(gòu)</b></p><p> 系統(tǒng)設(shè)計(jì)是軟件生命周期中一個(gè)重要的環(huán)節(jié),設(shè)計(jì)的好壞直接影響想到系統(tǒng)的實(shí)現(xiàn)和系統(tǒng)的可用性。在本課
54、題中,我依照以前學(xué)過(guò)的知識(shí),采用多種方法對(duì)游戲進(jìn)行設(shè)計(jì)。在第一階段,我進(jìn)行了概要設(shè)計(jì),完成了對(duì)游戲的模塊劃分、解決了模塊的層次機(jī)構(gòu);第二階段,我對(duì)概要設(shè)計(jì)進(jìn)行添加內(nèi)容,做出更加詳細(xì)的設(shè)計(jì),打好系統(tǒng)框架。</p><p> 游戲運(yùn)行時(shí)首先創(chuàng)建出游戲開(kāi)始界面,開(kāi)始界面有游戲的文字說(shuō)明以及人物選項(xiàng),玩家通過(guò)用鼠標(biāo)點(diǎn)擊開(kāi)始界面的開(kāi)始按鈕進(jìn)入游戲。此時(shí),游戲界面由最初的開(kāi)始界面跳轉(zhuǎn)到當(dāng)前游戲進(jìn)行中的畫(huà)面。玩家控制Pers
55、on躲避迎面爾來(lái)的敵人,如果碰上敵人,則HP減少1,直到HP小于1則游戲失敗,游戲失敗時(shí)會(huì)出現(xiàn)在玩一次按鈕。</p><p> 游戲角色整體分為兩大類(lèi):1、我方游戲角色;2、敵人游戲角色。兩種角色都有各自不同的屬性及方法,在設(shè)計(jì)類(lèi)的時(shí)候充分考慮到類(lèi)與類(lèi)之間的關(guān)系。游戲的關(guān)鍵是如何設(shè)計(jì)出一個(gè)高效的加載類(lèi),使得各種角色、子彈、背景都能夠流暢的顯示。</p><p> 道具的種類(lèi)和粒子效果可
56、以提高游戲的趣味性,是游戲玩起來(lái)更加吸引人,因此在制作圖片素材時(shí)我花了很大功夫,由于道具和粒子效果具有獨(dú)立的屬性和特征,因此把道具和粒子都設(shè)計(jì)成類(lèi)。這充分體現(xiàn)了面向?qū)ο蟮脑O(shè)計(jì)思想。</p><p> 游戲系統(tǒng)具體的結(jié)構(gòu)圖如下圖3-1所示:</p><p> 圖3-1 系統(tǒng)結(jié)構(gòu)圖</p><p> 圖3-2 系統(tǒng)總體順序圖</p><p>
57、;<b> 游戲畫(huà)面設(shè)計(jì)</b></p><p> 一款游戲能不能吸引玩家,很大程度是靠游戲畫(huà)面,為此,我搜集并制作了很多游戲圖片素材,為游戲畫(huà)面的設(shè)計(jì)提供了良好的支持。在本課題中,我把游戲界面分成了四個(gè)板塊:1)游戲開(kāi)始前的界面;2)游戲準(zhǔn)備畫(huà)面;3)游戲進(jìn)行中畫(huà)面;4)游戲結(jié)束的畫(huà)面。游戲畫(huà)面設(shè)計(jì)具體的結(jié)構(gòu)圖如下圖3-3所示:</p><p> 圖3-3 游
58、戲界面設(shè)計(jì)結(jié)構(gòu)圖</p><p> 圖3-4 游戲界面設(shè)計(jì)順序圖</p><p> 啟動(dòng)游戲首先顯示的是游戲開(kāi)始前界面,該界面上有按鈕,點(diǎn)擊相應(yīng)按鈕出現(xiàn)對(duì)應(yīng)的界面。如果點(diǎn)擊開(kāi)始按鈕,則進(jìn)入游戲準(zhǔn)備界面;在該準(zhǔn)備界面上也擁有按鈕,點(diǎn)擊出現(xiàn)游戲進(jìn)行中界面;如果HP小于1,則進(jìn)入游戲結(jié)束界面。在設(shè)計(jì)時(shí),我使用了2個(gè)類(lèi),來(lái)實(shí)現(xiàn)這4個(gè)界面。最復(fù)雜的界面是游戲進(jìn)行時(shí)界面,此界面負(fù)責(zé)展示出游戲中的各
59、種角色和細(xì)節(jié),此類(lèi)是游戲的關(guān)鍵類(lèi),我用InGame命名它。2個(gè)類(lèi)如下所示:</p><p> 圖3-5 游戲界面類(lèi)圖</p><p><b> 玩家控制角色設(shè)計(jì)</b></p><p> 我方游戲角色的原型是人物,定義為Hero類(lèi)。Hero應(yīng)該具備移動(dòng)、吃道具、展示自己的功能,將這些功能設(shè)計(jì)成Hero的方法。Hero中應(yīng)該包含一個(gè)InGa
60、me的實(shí)例。具體的屬性和方法如圖3-6所示:</p><p> 圖3-6 Hero類(lèi)圖</p><p> 圖3-7 Hero順序圖</p><p><b> 敵人角色設(shè)計(jì)</b></p><p> 敵人角色定義為Enemy。Enemy具有移動(dòng)、展示自己的功能,將這些功能設(shè)計(jì)成Enemy的方法。Enemy中應(yīng)該包含
61、一個(gè)InGame的實(shí)例。具體的屬性和方法如圖3-8所示:</p><p> 圖3-8 Enemy類(lèi)圖</p><p> 圖3-9 Enemy順序圖</p><p><b> 游戲控制類(lèi)設(shè)計(jì)</b></p><p> 游戲中要有一個(gè)主控類(lèi),用來(lái)控制游戲中各類(lèi)角色的顯示,在游戲進(jìn)行的過(guò)程中添加敵人、添加游戲道具,我把
62、這些功能寫(xiě)成一個(gè)方法,封裝在主控類(lèi)中。游戲主控類(lèi)InGame還要負(fù)責(zé)時(shí)刻更新游戲畫(huà)面,具體設(shè)計(jì)如3-10圖所示:</p><p> 圖3-10 游戲控制類(lèi)圖</p><p><b> 背景類(lèi)設(shè)計(jì)</b></p><p> 在游戲中有個(gè)背景類(lèi),定義為GameBackGround。在該游戲中,背景分為4層。具體設(shè)計(jì)如3-11圖所示:</
63、p><p> 圖3-11 背景類(lèi)圖</p><p> 圖3-12 背景順序圖</p><p><b> 道具類(lèi)設(shè)計(jì)</b></p><p> 在游戲中有多種道具,產(chǎn)生道具的類(lèi)是在InGame里面。具體設(shè)計(jì)如3-13圖所示:</p><p> 圖3-13 道具類(lèi)圖</p><
64、;p><b> 食物類(lèi)設(shè)計(jì)</b></p><p> 在游戲中有吃了漲分?jǐn)?shù)的食物,產(chǎn)生食物的類(lèi)是在InGame里面。具體設(shè)計(jì)如3-14圖所示:</p><p> 圖3-14 道具類(lèi)圖</p><p><b> 背景音樂(lè)類(lèi)設(shè)計(jì)</b></p><p> 游戲音樂(lè)背景,是一款游戲是否優(yōu)良
65、的重要考評(píng)對(duì)象。每一款游戲的開(kāi)發(fā)者都會(huì)重視背景音樂(lè)的質(zhì)量,音樂(lè)的風(fēng)格、節(jié)奏、旋律都可能對(duì)玩家形成較大的影響很多人是因?yàn)橐魳?lè)而愛(ài)上了游戲,很多游戲是因?yàn)橐魳?lè)而深入人心。不少為人稱(chēng)道的作品如仙劍奇?zhèn)b傳的背景音樂(lè)曾經(jīng)感動(dòng)了萬(wàn)千玩家。背景音樂(lè)除了感動(dòng)情緒,還能帶動(dòng)情緒,比如封神榜3游戲的時(shí)而恢弘、神秘、悠揚(yáng)的曲風(fēng)也讓游戲劇情顯得跌宕起伏。</p><p> 游戲背景音樂(lè)在制作前,首先需要對(duì)音樂(lè)的整體風(fēng)格進(jìn)行設(shè)計(jì)。因此需
66、要游戲制作方提供游戲視頻、圖片等詳細(xì)資料,才能對(duì)游戲的整體風(fēng)格提出具體的方案。并且對(duì)于不同的游戲風(fēng)格需要采用不用的游戲音樂(lè)配器,中國(guó)古典風(fēng)格的游戲音樂(lè)通常會(huì)以民族樂(lè)器為主;西方風(fēng)格游戲音樂(lè)主要以管弦樂(lè)配器為主;休閑卡通游戲配樂(lè)還可以融入電子、搖滾、爵士等音樂(lè)元素。</p><p> 在本游戲中,具體設(shè)計(jì)如3-15圖所示:</p><p> 圖3-15 背景音樂(lè)類(lèi)圖</p>
67、<p><b> 系統(tǒng)實(shí)現(xiàn)</b></p><p> 我方角色移動(dòng)功能實(shí)現(xiàn)</p><p><b> 實(shí)現(xiàn)原理</b></p><p> 要想完成對(duì)游戲角色的操控,首先給游戲窗口添加鼠標(biāo)點(diǎn)擊和按下監(jiān)聽(tīng)器,根據(jù)玩家的操作,系統(tǒng)捕捉到事件,然后完成具體的響應(yīng)。我方游戲角色在畫(huà)面中移動(dòng)本質(zhì)上是改變游戲角色的坐
68、標(biāo)。以上都是角色的上下移動(dòng),主要的方法是heroMove()。</p><p><b> 我方角色移動(dòng)</b></p><p> 在游戲中,我方角色有幾種狀態(tài),根據(jù)不同的狀態(tài)有不同的移動(dòng),移動(dòng)功能在游戲中的關(guān)鍵代碼實(shí)現(xiàn)如下:</p><p> public function heroMove(speed:Number):void{<
69、/p><p> switch(state){</p><p> case GameConst.HERO_STATE_FLY:</p><p> 玩家正常普通狀態(tài)的時(shí)候怎么移動(dòng)和到達(dá)邊界的時(shí)候怎么移動(dòng)</p><p><b> break;</b></p><p> case GameCons
70、t.HERO_STATE_HIT:</p><p> 玩家撞上敵人后怎么處理</p><p><b> break;</b></p><p> case GameConst.HERO_STATE_FALL:</p><p><b> 玩家死亡怎么處理</b></p><p
71、><b> break;</b></p><p> case GameConst.HERO_STATE_SPEED:</p><p> 玩家吃了無(wú)敵加速后怎么處理</p><p><b> break;</b></p><p><b> }</b></p&
72、gt;<p><b> }</b></p><p><b> 游戲主控類(lèi)實(shí)現(xiàn)</b></p><p> 4.2.1 實(shí)現(xiàn)原理</p><p> 游戲中要有一個(gè)主控類(lèi),用來(lái)控制游戲中各類(lèi)角色的顯示,在游戲進(jìn)行的過(guò)程中添加敵人、添加游戲道具,我把這些功能寫(xiě)成一個(gè)方法,封裝在主控類(lèi)中。游戲主控類(lèi)InGam
73、e還要負(fù)責(zé)時(shí)刻更新游戲畫(huà)面。因此,主控類(lèi)是一個(gè)窗口,游戲進(jìn)行時(shí)的窗口畫(huà)面中所有元素都是主控類(lèi)描繪出來(lái)的。</p><p> 4.2.2 主控類(lèi)的實(shí)現(xiàn)</p><p> 主控類(lèi)在游戲運(yùn)行時(shí)表現(xiàn)為游戲窗口:</p><p> 在此界面中,會(huì)用到碰撞檢測(cè),粒子特效、制作動(dòng)畫(huà)、緩動(dòng)引擎、道具的看似無(wú)規(guī)律但有規(guī)律的產(chǎn)生、飛行器產(chǎn)生前均會(huì)產(chǎn)生提示、保存歷史的最高分?jǐn)?shù)等。
74、</p><p> 4.2.2.1 碰撞檢測(cè)</p><p> 碰撞檢測(cè)的思想非常非常簡(jiǎn)單。 我們只要知道兩個(gè)物體是否有在同一時(shí)間內(nèi)某個(gè)部分處在了同一位置上。當(dāng)然,也許物體不只兩個(gè),這就需要知道其中的一個(gè)是否和其它的物體發(fā)是了碰撞。</p><p> 檢測(cè)碰撞的方法有很多:可以是對(duì)物體實(shí)際像素的檢測(cè)(Sprite 或 MovieClip),也就是判斷兩個(gè)影片中
75、的圖形是否重疊?對(duì)于這種檢測(cè)方法,要以影片內(nèi)圖形的實(shí)際可見(jiàn)像素判斷,還是以影片的矩形邊界來(lái)判斷呢?這就涉及到 hitTest 方法中內(nèi)置的兩個(gè)可選項(xiàng),用來(lái)滿足不同方面的需求。 </p><p> 碰撞也可以根據(jù)距離來(lái)判斷。獲得兩個(gè)物體間的距離,然后問(wèn)“物體間是否近得足夠發(fā)生碰撞了?”,應(yīng)用這種方法時(shí)需要計(jì)算并判斷距離。</p><p> 由于在Straling框架中只提供了像素碰撞(h
76、itTest),但明顯這游戲用不到這么精確的碰撞。改游戲我自己實(shí)現(xiàn)一個(gè)簡(jiǎn)單的矩形碰撞,將hero、飛行器和各種道具均看作矩形,通過(guò)計(jì)算hero和他們的坐標(biāo)進(jìn)行判斷。具體代碼如下:</p><p><b> //碰撞檢測(cè)</b></p><p> Private function hitEnemy(hero:Hero,en:Object):Boolean{</
77、p><p> if(en.x < hero.x + hero.width/2 && en.x > hero.x - hero.width/2 - en.width &&</p><p> en.y < hero.y + hero.height/2 && en.y > hero.y - hero.height/2 - e
78、n.height){</p><p> return true</p><p><b> }else{</b></p><p> return false;</p><p><b> }</b></p><p><b> }</b></p
79、><p> 4.2.2.2 粒子特效</p><p> 每當(dāng)提及漂亮的特效,我都會(huì)想起粒子特效,這玩意兒可是做游戲者的最?lèi)?ài)。粒子特效雖然看起來(lái)很絢麗,很酷,但是實(shí)現(xiàn)起來(lái)卻不怎么復(fù)雜,不論你信不信,我反正是信了。從技術(shù)層面上來(lái)講,所謂粒子效果,就是一些著色了的方塊在不停地各自運(yùn)動(dòng),并加以一些特殊的混合模式之后所得到的一種漂亮效果。 </p><p> Starlin
80、g 中設(shè)計(jì)粒子效果,有一個(gè)非常方便的工具叫做ParticleDesigner,但該工具只能在蘋(píng)果系統(tǒng)中使用,還好有個(gè)能在WINDOWS中簡(jiǎn)易的工具speditor,具體的如下:</p><p> ParticleDesignerPS 對(duì)象是DisplayObject的子類(lèi),因此你可以用上所有你能想到的 API。當(dāng)然,你還得注意做垃圾回收的工作,當(dāng)粒子動(dòng)畫(huà)播放完畢后,你需要記得及時(shí)將粒子對(duì)象從juggler 中移
81、出,并對(duì)ParticleDesignerPS 對(duì)象調(diào)用dispose 方法進(jìn)行對(duì)象銷(xiāo)毀。</p><p> 在本游戲中有2種粒子特效:hero加速后的加速特效,如下:</p><p> hero吸取屏幕上所有除加速和吸取的其他道具,如下:</p><p> 這些所謂的粒子特效均是通過(guò)工具產(chǎn)生,該工具會(huì)為你產(chǎn)生2個(gè)文件,1張粒子的圖片,和粒子產(chǎn)生和移動(dòng)等動(dòng)作的.
82、pex文件。</p><p> 需要注意的是,在 Starling中,粒子被認(rèn)為是一個(gè)動(dòng)畫(huà)對(duì)象,因此在使用它的時(shí)候應(yīng)該把粒子對(duì)象添加到一個(gè)Juggler 對(duì)象中才能看到動(dòng)畫(huà)的播放: </p><p> //加載工具產(chǎn)生的文件</p><p> [Embed(source="res/texture.png")]</p><
83、p> static var particleTexture:Class;</p><p> [Embed(source="res/particleCoffee.pex",mimeType="application/octet-stream")]</p><p> static var particleCoffee:Class;</p
84、><p> [Embed(source="res/particleMushroom.pex",mimeType="application/octet-stream")]</p><p> static var particleMushroom:Class;</p><p><b> //調(diào)用這些文件</b&g
85、t;</p><p> //根據(jù)名字獲得Texture的方法,如果不存在,就重新加載,如果已經(jīng)存在,則直接獲得</p><p> public static function getTexture(name:String):Texture{</p><p> if(gameTextures[name]==undefined){</p><p
86、> var t:Texture = Texture.fromBitmap(new Assets[name]());</p><p> gameTextures[name] = t;</p><p><b> }</b></p><p> return gameTextures[name];</p><p>
87、<b> }</b></p><p> public static function getXml(name:String):XML{</p><p> if(gameTextureXML[name]==undefined){</p><p> var t:XML = XML(new Assets[name]());</p>
88、<p> gameTextureXML[name] = t;</p><p><b> }</b></p><p> return gameTextureXML[name];</p><p><b> }</b></p><p><b> //實(shí)現(xiàn)</b>
89、;</p><p><b> //先添加粒子引擎</b></p><p> peCoffee=newPDParticleSystem(Assets.getXml("particleCoffee"),</p><p> Assets.getTexture("particleTexture"));<
90、;/p><p> this.addChild(peCoffee);</p><p> Starling.juggler.add(peCoffee);</p><p> peCoffee.stop();</p><p> peMushroom=newPDParticleSystem(Assets.getXml("particl
91、eMushroom"),Assets.getTexture("particleTexture"));</p><p> this.addChild(peMushroom);</p><p> Starling.juggler.add(peMushroom);</p><p> peMushroom.stop();</p>
92、;<p> 4.2.2.3 制作動(dòng)畫(huà)</p><p> 動(dòng)畫(huà)就是一組圖片連在一起按順序播放,通過(guò)每幀更換紋理,我們可以重建出一個(gè)MovieClip的概念,GPU 每幀都會(huì)重新采樣并在屏幕上顯示出來(lái)。然而,我們?cè)撊绾沃谱鹘M成MovieClip的素材呢?</p><p> 當(dāng)然,F(xiàn)lash Professional工具是我們制作素材的好搭檔,它可以將一個(gè)動(dòng)畫(huà)的每幀導(dǎo)出為一組
93、圖片序列,之后,我們把這一些圖片扔到一些工具,如TexturePacker中,依靠這些工具,可以把一組圖片拼接到單獨(dú)的一張圖片中(我們稱(chēng)之為sprite atlas ,或sprite sheet )去,以供我們?cè)赟tarling的MovieClip類(lèi)中使用。</p><p> 就如該游戲中hero中飛行的動(dòng)畫(huà),實(shí)際上就是20張圖片按一定的順序播放,還有那飛行器出現(xiàn)前提示也是4張圖片組成,只是多次播放而已。&l
94、t;/p><p> 4.2.2.4 緩動(dòng)引擎</p><p> Starling 天生支持補(bǔ)間動(dòng)畫(huà)并實(shí)現(xiàn)了一套其特有的補(bǔ)間動(dòng)畫(huà)引擎,其支持絕大多數(shù)的緩動(dòng)方程,其中有:</p><p> 在下面的代碼中,我們使用補(bǔ)間動(dòng)畫(huà)來(lái)緩動(dòng)改變一個(gè)TextField 對(duì)象的x,y 屬性,并用上一個(gè)bounce的緩動(dòng)特效: </p><p> var t:
95、Tween=new Tween(bmpFontTF,4, Transitions.EASE_IN_OUT_BOUNCE); </p><p> t.moveTo(bmpFontTF.x+300, bmpFontTF.y); </p><p> Starling.juggler.add(t);</p><p> 4.2.2.5 道具和食物的產(chǎn)生</p
96、><p> 在很多游戲中,有些道具或者金幣等的產(chǎn)生,看起來(lái)也是毫無(wú)規(guī)律可言,但每次產(chǎn)生都擁有個(gè)規(guī)律,比如:在一條直線上連續(xù)產(chǎn)生、一條豎線,連續(xù)多條豎線或者特殊形狀類(lèi)的等等。</p><p> 在該游戲中我有幾中產(chǎn)生食物的方式:</p><p><b> //水平</b></p><p> if(pattern==1
97、&& Math.random()<0.3){</p><p> 這種形狀持續(xù)的時(shí)間和產(chǎn)生的位置</p><p><b> }</b></p><p><b> //豎直</b></p><p> else if(pattern==2 && Math.ra
98、ndom()<0.6){</p><p> 這種形狀持續(xù)的時(shí)間和產(chǎn)生的位置</p><p><b> }</b></p><p><b> //Z字</b></p><p> else if(pattern==3 && Math.random()<0.7){<
99、;/p><p> 這種狀態(tài)持續(xù)的時(shí)間和每次改變的角度</p><p><b> }</b></p><p><b> //隨機(jī)</b></p><p> else if(pattern==4 && Math.random()<0.95){</p><p&
100、gt;<b> 這種狀態(tài)持續(xù)的時(shí)間</b></p><p><b> }</b></p><p> 4.2.2.6 保存最高分?jǐn)?shù)</p><p> 在該游戲中先搜索本地是否有過(guò)以前玩過(guò)的記錄,如果有記錄,就導(dǎo)入該記錄(只有最高分?jǐn)?shù));如果沒(méi)有,就只有在玩過(guò)一局產(chǎn)生分?jǐn)?shù)后作為最高分。</p><p
101、><b> //讀取</b></p><p> Var f:File= File.applicationStorageDirectory.resolvePath</p><p> ("CB/save.txt");</p><p> if(!f.exists){</p><p> tra
102、ce("沒(méi)有存檔記錄");</p><p><b> return;</b></p><p><b> }else{</b></p><p> ar fs:FileStream = new FileStream();</p><p> fs.open(f,FileMode
103、.READ);</p><p> var temp:Object = fs.readObject();</p><p> trace(temp);</p><p> bestScore = temp.toString();</p><p><b> }</b></p><p><b&
104、gt; //保存</b></p><p> var f:File = File.applicationStorageDirectory.resolvePath</p><p> ("CB/save.txt");</p><p> var fs:FileStream = new FileStream();</p>
105、<p> fs.open(f,FileMode.WRITE);</p><p> fs.writeObject(bestScore);</p><p> fs.close();</p><p><b> 系統(tǒng)測(cè)試</b></p><p><b> 系統(tǒng)測(cè)試總體概述</b><
106、/p><p> 5.1.1 系統(tǒng)測(cè)試的目的</p><p> 系統(tǒng)測(cè)試,英文是System Testing。是將已經(jīng)確認(rèn)的軟件、計(jì)算機(jī)硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測(cè)試和確認(rèn)測(cè)試,系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。系統(tǒng)測(cè)試發(fā)現(xiàn)問(wèn)題之后要經(jīng)過(guò)調(diào)試找出錯(cuò)誤原因
107、和位置,然后進(jìn)行改正。是基于系統(tǒng)整體需求說(shuō)明書(shū)的黑盒類(lèi)測(cè)試,應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件。對(duì)象不僅僅包括需測(cè)試的軟件,還要包含軟件所依賴的硬件、外設(shè)甚至包括某些數(shù)據(jù)、某些支持軟件及其接口等。</p><p> 在設(shè)計(jì)本游戲的時(shí)候或者在開(kāi)發(fā)的過(guò)程中,面對(duì)一些非常錯(cuò)綜復(fù)雜的問(wèn)題的時(shí)候,有時(shí)候有可能會(huì)出現(xiàn)一些錯(cuò)誤。而測(cè)試的目的就是要在軟件正式投入到生產(chǎn)運(yùn)行之前,盡最大努力,盡可能多地發(fā)現(xiàn)軟件的不足之處。并能夠非常及時(shí)的修
108、改那些不足之處,保證軟件的質(zhì)量。軟件測(cè)試階段是保證軟件質(zhì)量的關(guān)鍵階段。它是對(duì)軟件系統(tǒng)規(guī)格說(shuō)明、設(shè)計(jì)與編碼的最后一次審查,當(dāng)然這也是必不可少的關(guān)鍵步驟。</p><p> 5.1.2 游戲系統(tǒng)測(cè)試的方案</p><p> 由于開(kāi)發(fā)時(shí)間比較緊張,因此在對(duì)本軟件系統(tǒng)進(jìn)行測(cè)試的時(shí)候只采取了單元測(cè)試與集成測(cè)試。在開(kāi)發(fā)的時(shí)候就已經(jīng)對(duì)游戲做了單元測(cè)試,開(kāi)發(fā)人員的自測(cè)是非常關(guān)鍵和必不可少的,因此可以
109、邊測(cè)試邊開(kāi)發(fā),最后等到各個(gè)功能模塊做完了之后,將各個(gè)模塊連結(jié)起來(lái)做一次聯(lián)調(diào),也就是集成測(cè)試,檢查一下游戲是否有錯(cuò)誤。</p><p> 5.1.3 游戲測(cè)試的范圍</p><p> 系統(tǒng)測(cè)試的范圍包含本系統(tǒng)的所有功能模塊,開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)完成一個(gè)功能的時(shí)候,對(duì)這個(gè)模塊進(jìn)行單元測(cè)試,查看此功能是否完成,是否有錯(cuò)誤,同時(shí)還要查看是否進(jìn)行了錯(cuò)誤處理,如異常處理。接下來(lái)就是對(duì)每個(gè)功能模塊的業(yè)
110、務(wù)與功能進(jìn)行單獨(dú)的測(cè)試,檢查是否存在業(yè)務(wù)邏輯錯(cuò)誤與功能錯(cuò)誤。接下來(lái)便是進(jìn)行系統(tǒng)的集成測(cè)試,把系統(tǒng)中所有的模塊集成,連結(jié)在一起,檢測(cè)模塊間數(shù)據(jù)傳輸,模塊間數(shù)據(jù)交換,模塊間數(shù)據(jù)通信是否正常,業(yè)務(wù)邏輯是否考慮周到,業(yè)務(wù)邏輯是否合理,已有功能完善與否。完成了系統(tǒng)的集成測(cè)試之后,接下來(lái)便是系統(tǒng)的性能測(cè)試。</p><p><b> 游戲測(cè)試設(shè)計(jì)</b></p><p> 軟
111、件測(cè)試設(shè)計(jì)是整個(gè)軟件周期中一個(gè)非常重要的階段,是對(duì)整個(gè)軟件的質(zhì)量的一個(gè)審核、檢查,是軟件質(zhì)量保證的根本。因此軟件測(cè)試人員在這個(gè)階段一定要做好自己的工作,做好充分的,考慮周到的測(cè)試設(shè)計(jì),要檢查整個(gè)游戲的需求是否完整的實(shí)現(xiàn),功能是否存在bug。然后寫(xiě)好全部測(cè)試用例,接下來(lái)便是對(duì)照設(shè)計(jì)好的測(cè)試用例,從頭到尾,按部就班地完成所有模塊的測(cè)試工作。</p><p><b> 測(cè)試環(huán)境</b></
112、p><p> Windows XP/Windows 7操作系統(tǒng)</p><p> Adobe Flash Builder 4.6</p><p><b> 測(cè)試記錄</b></p><p> 表5-1描述了我方角色移動(dòng)測(cè)試用例:</p><p> 表5-1 我方角色移動(dòng)測(cè)試用例</p&
113、gt;<p> 表5-2描述了敵方游戲角色產(chǎn)生前提示測(cè)試用例:</p><p> 表5-2 敵方游戲角色產(chǎn)生前提示測(cè)試用例</p><p> 表5-3描述了敵方角色產(chǎn)生測(cè)試用例:</p><p> 表5-3 敵方角色產(chǎn)生測(cè)試用例</p><p> 表5-4描述了游戲窗口切換測(cè)試用例:</p><p&
114、gt; 表5-4 游戲窗口切換測(cè)試用例</p><p> 表5-5描述了游戲音效測(cè)試用例:</p><p> 表5-5 游戲音效測(cè)試用例</p><p> 表5-6描述了數(shù)值測(cè)試用例:</p><p> 表5-6 數(shù)值測(cè)試用例</p><p><b> 結(jié)語(yǔ)與展望</b></p&
115、gt;<p> 本課題通過(guò)對(duì)手機(jī)游戲的現(xiàn)狀調(diào)查分析并結(jié)合當(dāng)前手機(jī)游戲狀況,設(shè)計(jì)和開(kāi)發(fā)了一個(gè)基于Flash技術(shù)的跑酷游戲。本游戲利用Starling框架,采用里面的功能模塊的設(shè)計(jì)與開(kāi)發(fā)。在整個(gè)游戲的設(shè)計(jì)開(kāi)發(fā)的過(guò)程中得到了指導(dǎo)老師的大力支持,在歷時(shí)將近的半年的時(shí)間里相繼完成了,游戲設(shè)計(jì)的理論分析、系統(tǒng)用戶需求分析、系統(tǒng)總體功能設(shè)計(jì)、系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)、程序編碼實(shí)現(xiàn)、系統(tǒng)測(cè)試等工作,游戲目前己通過(guò)測(cè)試,并能在手機(jī)上進(jìn)行試玩。
116、但是由于經(jīng)驗(yàn)不夠、事先設(shè)計(jì)存在不不夠詳細(xì)等因素,該游戲仍足之處,具體表現(xiàn)在以下幾個(gè)方面:</p><p> 游戲場(chǎng)景太少,游戲關(guān)卡只有一關(guān);</p><p> 游戲道具種類(lèi)太少,只有2種;</p><p> 游戲敵人太單調(diào),只有一種行為;</p><p> 游戲音效不夠出色,開(kāi)火、爆炸時(shí)沒(méi)有添加特殊音效;</p><
117、;p> 游戲性能一般,與商業(yè)游戲差距明顯。</p><p> 通過(guò)這次游戲設(shè)計(jì)的實(shí)踐,使我更進(jìn)一步熟悉了軟件工程的方法和技術(shù),提高了軟件開(kāi)發(fā)的實(shí)際能力,培養(yǎng)了工程設(shè)計(jì)能力和綜合分析、解決問(wèn)題的能力。本次課程設(shè)計(jì)具體的收獲有:</p><p> 學(xué)習(xí)和實(shí)踐了分析和設(shè)計(jì)軟件系統(tǒng)的各種知識(shí),包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì),編碼和測(cè)試方面的知識(shí);</p><p>
118、 熟悉了UML建模工具Enterprise Architect,并將其運(yùn)用于軟件開(kāi)發(fā)的全過(guò)程;</p><p> 熟悉了游戲開(kāi)發(fā)的過(guò)程,并借助三方框架完善;</p><p> 懂得了一個(gè)游戲的成功,不但需要一個(gè)好的策劃,還得有優(yōu)秀的美工、程序等等一系列的努力;</p><p> 進(jìn)一步加強(qiáng)和提高軟件工程文檔的編寫(xiě)能力;</p><p>
119、; 此外,本次畢業(yè)課程設(shè)計(jì)我投入了很大的精力,努力做到符合要求。盡管項(xiàng)目的基本功能都能實(shí)現(xiàn),但是在制作的過(guò)程中也遇到了很多困難,通過(guò)總結(jié),我得出了以下的心得:首先,要有耐心,遇到難以解決的問(wèn)題時(shí)不能浮躁,尋求解決的方法,網(wǎng)絡(luò)資源是個(gè)很好的老師,可以幫助解決很多問(wèn)題。其次,在思考需求的時(shí)候要細(xì)致全面,以防軟件后期缺陷造成游戲重新設(shè)計(jì),軟件系統(tǒng)的設(shè)計(jì)也是一個(gè)復(fù)雜的過(guò)程,包括前期的分析,后期的設(shè)計(jì),雖然我們運(yùn)用了現(xiàn)今較為流行的面向?qū)ο蟮姆治?/p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文范文——基于android平臺(tái)的跑酷游戲的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文范文——基于android平臺(tái)的跑酷游戲的設(shè)計(jì)與實(shí)現(xiàn)
- 跑酷游戲畢業(yè)設(shè)計(jì)論文.doc
- 跑酷游戲畢業(yè)設(shè)計(jì)
- 跑酷游戲畢業(yè)設(shè)計(jì)(論文)初稿.doc
- 跑酷游戲畢業(yè)設(shè)計(jì)(論文)文獻(xiàn)翻譯.doc
- 跑酷游戲畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告.doc
- 跑酷游戲畢業(yè)設(shè)計(jì)(論文)文獻(xiàn)綜述.doc
- 跑酷游戲畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū).doc
- 畢業(yè)論文-游戲網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 基于Cocos2d-x移動(dòng)平臺(tái)跑酷類(lèi)游戲的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)論文---網(wǎng)絡(luò)棋牌游戲平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于android的逃生游戲設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
- 畢業(yè)論文---網(wǎng)絡(luò)棋牌游戲平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文(設(shè)計(jì))游戲資訊網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 基于android推箱子游戲的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于html+php的我酷星系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 畢業(yè)論文--掃雷游戲軟件設(shè)計(jì)與實(shí)現(xiàn)
- 基于torque游戲引擎的3d游戲的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
- 畢業(yè)論文--基于java的手機(jī)游戲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論