版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 河北工業(yè)大學(xué) 畢業(yè)設(shè)計說明書 作 者: 學(xué) 號: 112435 學(xué) 院: 計算機科學(xué)與軟件 系(專業(yè)): 計算機科學(xué)與技術(shù) 題 目:基于unity的android手機小狗快跑游戲的研發(fā)指導(dǎo)者: 評閱者: 2015年5月29日基于unity的android手機小狗快跑游戲的研發(fā)摘要:隨著手機時代的到來,越來越多的人擁有智能手機。android系統(tǒng)由于其卓越的性能,在手機操作系統(tǒng)中占有相當(dāng)?shù)拇蟮谋壤?。科技的迅速發(fā)展使得手機硬件以非??斓乃俣雀?,手機游戲的市場將會越來越大。本課題實現(xiàn)的基于unity的android手機小狗快跑游戲采用主菜單的場景,具有合理巧妙的劇情安排,精心設(shè)計各種物理碰撞監(jiān)視
2、器,系統(tǒng)中有金幣和各種道具的設(shè)置。游戲設(shè)計采用unity 3d游戲引擎,利用visual studio 2010作為腳本編譯器,開發(fā)中運用軟件工程的設(shè)計過程設(shè)計和實現(xiàn)系統(tǒng)功能。 該游戲界面友好,操作方便,魯棒性強,游戲的各個功能模塊均已測試過,能夠穩(wěn)定運行。關(guān)鍵詞: 手機游戲 酷跑類游戲 unity 3d android畢業(yè)設(shè)計(論文)中文摘要畢業(yè)設(shè)計(論文)外文摘要title the development of android mobile phone game the dogrunning based onunityabstract: with the arrival of the er
3、a of mobile phone,more and more people haveintelligent mobile phone.due to its excellent performance, android occupies a large proportion of the equivalent mobile phone operating system.the rapid development of science and technology makes the mobile phone hardware at a very fast speed update,market
4、 of mobile phone game will be more and more. the realization of the android mobile phone the dog running game based on unity uses the main menu of the scene,with reasonable ingenious plot arrangement,elaborate design of various physical collision monitors, gold coins and a variety of props in the sy
5、stem settings.the game design unity 3d game engine,using visual studio as the script compiler,development,application and realization of the system function design process of software engineering. the game has friendly interface,convenient operation,strong robustness, each function and module of the
6、 game have been tested,stable operation.keywords:mobile phone games unity 3d android cool running games 目 錄1 引言11.1 unity 3d基礎(chǔ)認(rèn)識11.2 unity 3d的發(fā)展前景11.3 課題研發(fā)意義22 平臺簡介42.1 開發(fā)平臺介紹42.2 小狗快跑架構(gòu)分析53 需求分析83.1 系統(tǒng)概述83.2 系統(tǒng)簡介84 系統(tǒng)概要設(shè)計104.1 游戲設(shè)計104.2 系統(tǒng)架構(gòu)154.3 系統(tǒng)功能結(jié)構(gòu)154.4 系統(tǒng)功能模塊簡介165 游戲界面設(shè)計175.1 系統(tǒng)結(jié)構(gòu)設(shè)計175.2 游戲初始
7、界面設(shè)計185.3 游戲主菜單界面195.4 設(shè)置界面205.5 成績界面215.6 關(guān)于界面215.7 游戲界面225.8 游戲結(jié)束界面246 系統(tǒng)詳細(xì)設(shè)計256.1 模型的布局分析266.2游戲類的實現(xiàn)266.3 游戲的詳細(xì)設(shè)計及實體類287 程序調(diào)試與測試317.1 程序調(diào)試317.2 測試31結(jié) 論33參 考 文 獻(xiàn)34致 謝351 引言 科技的迅速發(fā)展使得手機硬件以非??斓乃俣雀?,隨著智能機的出現(xiàn),手機游戲已經(jīng)具有很好的娛樂性和復(fù)雜的場景描述,交互性的提升和便捷的攜帶,手機游戲已經(jīng)堪比電腦的網(wǎng)頁式游戲,手機游戲的市場將會越來越大。1.1 unity 3d基礎(chǔ)認(rèn)識unity 3d是由
8、unity technologies開發(fā)的一個輕松創(chuàng)建三維視頻游戲、建筑可視實時三維化、實時三維動畫等交互內(nèi)容的、多平臺的綜合型游戲開發(fā)工具,是一個全面整合的專業(yè)游戲引擎,通過unity簡單的用戶界面,玩家可以完成任何工作。unity類似director、blender game engine、virtools和torque game build等以交互的圖形開發(fā)環(huán)境為首要方式的3d游戲引擎軟件。nvidiaphysx內(nèi)置物理引擎帶給玩家生活的互動。實時三維圖形混合音頻流、視頻流。unity的游戲和應(yīng)用可以用c#語言,unityscript(一種javascript的擴展)或者boo(一種受p
9、ython啟發(fā)的語言)來開發(fā),其編譯過程根據(jù)不同的目標(biāo)平臺而變化其編譯器運行在window和mac os x下,可發(fā)布游戲至window、max、wii、iphone和android平臺,也可利用unity web player插件發(fā)布網(wǎng)頁游戲,支持mac和window的網(wǎng)頁瀏覽,并且unity的網(wǎng)頁播放器也被mac widgets所支持。unity簡單的用戶界面是層級式的綜合開發(fā)環(huán)境,具備可視化詳細(xì)的屬性編輯器和動態(tài)的游戲預(yù)覽特性。由于其強大的綜合編輯特性,因此unity也被用來快速地制作游戲或者開發(fā)游戲原型。unity圖形引擎使用的是direct 3d(windows)、opengl(ma
10、c,windows)和自有的apis(wii),可以支持bump mapping、reflection mapping、parallax mapping、screen space ambient occlusion、動態(tài)陰影使用的shadow map技術(shù)與render-to-texutre和全屏post processing效果。1.2 unity 3d的發(fā)展前景 近幾年來,android平臺游戲、iphone平臺游戲以及web網(wǎng)頁游戲發(fā)張迅猛,已經(jīng)成為帶動游戲發(fā)展的新生力量。遺憾的是除了少數(shù)的作品成功外大部分的游戲都屬于宣傳攻勢大于內(nèi)容品質(zhì)的平庸之作。面對這一情況,3d游戲成為獨辟蹊徑的一種
11、選擇,而為3d游戲提供強大技術(shù)支持的unity 3d引擎,對directx和opengl擁有高度優(yōu)化的圖形渲染管道,以其創(chuàng)造高質(zhì)量的3d游戲和真實視覺效果的核心技術(shù),為開發(fā)3d游戲提供強大的源動力。unity 3d不僅在游戲領(lǐng)域里有廣闊的應(yīng)用,其還可以用于3d虛擬仿真、大型產(chǎn)品展示、3d虛擬展會、3d場景導(dǎo)航以及一些精密儀器使用方法的演示等,可謂領(lǐng)域非常廣泛。 unity 3d游戲引擎技術(shù)研討會最早于2011年5月在韓國舉行。據(jù)悉,現(xiàn)在10種以上新引擎開發(fā)都采用了unity 3d游戲引擎技術(shù)。現(xiàn)已有部分開發(fā)商利用china joy展會的契機,展示了該引擎的運行效果,目前已有不少廠商與開發(fā)商簽訂
12、了提前預(yù)定引擎的協(xié)議。未來幾年必定是unity 3d“大行其道”的時代,其開發(fā)群體的迅速壯大、web player的裝機率的快速提升使得unity 3d迅速爆發(fā)的實機已經(jīng)到來。曾有業(yè)內(nèi)知名人士“不要再對所謂的flash 3d抱有什么希望,也不要再去花心思學(xué)習(xí)那些雜七雜八的flash 3d插件,趕緊學(xué)習(xí)unity 3d才是正經(jīng)。”1.3 課題研發(fā)意義 在科技和娛樂越來越發(fā)達(dá)的今天,手機成為我們生活的必不可少的一部分。而手機游戲是手機娛樂的重要組成?,F(xiàn)在隨著智能機的出現(xiàn),手機游戲已經(jīng)具有很好的娛樂性和復(fù)雜的場景描述,交互性的提升和便捷的攜帶,手機游戲已經(jīng)堪比電腦的網(wǎng)頁式游戲。所以,下載一種適合自己
13、的手機游戲可以滿足大家閑暇時間的娛樂。unity廣泛用于開發(fā)手機平臺游戲和網(wǎng)頁游戲,成為移動游戲領(lǐng)域較為優(yōu)秀的游戲引擎。隨著手持式終端的快速推廣和發(fā)展,人們開始逐漸習(xí)慣于在手持設(shè)備上尋求樂趣,加之一系列物理引擎對手持設(shè)備的支持,移動端模擬現(xiàn)實已不再遙遠(yuǎn)。本課題是一款基于android平臺的手機休閑跑酷類游戲,本游戲使用當(dāng)前最為流行的unity 3d開發(fā)工具,結(jié)合智能手機的觸摸技術(shù)打造的一款小型手機游戲。玩家通過滑動屏幕來實現(xiàn)小狗轉(zhuǎn)彎、跳躍、下蹲等效果。游戲充分發(fā)揮了酷跑類的游戲節(jié)奏,能充分發(fā)揮玩家的反應(yīng)能力。在游戲中玩家通過滑動屏幕控制不斷奔跑的小狗,通過小狗的奔跑速度和障礙物設(shè)置來及時控制小
14、狗的行動,以此來鍛煉玩家的反應(yīng)能力,給玩家很好的游戲體驗。1.3.1 課題研究內(nèi)容當(dāng)下流行的跑酷類型游戲有神廟逃亡地鐵酷跑等等。小狗快跑是一款第三人稱休閑跑酷類游戲。當(dāng)玩家單擊開始游戲按鈕后,小狗開始跑動并且記錄成績,路上有些障礙物,玩家通過滑動屏幕來逃避碰撞,收集道路上的金幣得到分?jǐn)?shù)獎勵。這款游戲操作簡單,界面感染性強,采用手持設(shè)備為載體,操作感強,適合全齡段進(jìn)行游戲,此游戲需要玩家大小腦的合理分配,給用戶很好的游戲體驗。課題使用unity 3d游戲引擎作為開發(fā)工具和c#腳本作為開發(fā)語言,結(jié)合智能手機的觸摸技術(shù)。在unity新建一個場景,導(dǎo)入資源,然后通過對游戲地圖、燈光、天空盒、模型等環(huán)境
15、的設(shè)置來搭建游戲場景。隨后對主相機進(jìn)行相關(guān)設(shè)置并進(jìn)入monodevelop編輯器中編寫系列腳本。接著創(chuàng)建小狗對象,為其添加動畫組件和創(chuàng)建相關(guān)的腳本。然后是各種碰撞監(jiān)視器的創(chuàng)建,通過碰撞檢測來決定游戲的狀態(tài)。還有金幣的創(chuàng)建和磁鐵道具、圓球道具的創(chuàng)建。最后重中之重的是靜態(tài)類的構(gòu)建,在其中可以定義游戲中某些變量以便管理。游戲場景具有很強的立體感和逼真的光彩效果以及真實的物理碰撞,采用特定的游戲引擎自帶的著色器呈現(xiàn)出的漂亮的光彩效果,玩家將在游戲中獲得真實的視覺體驗。本課題運行平臺為android 2.0或者更高版本。1.3.2 課題重點解決的問題 (1)游戲場景的搭建方面的難題 本課題的游戲場景搭建
16、是一切設(shè)計的前提,首先創(chuàng)造一個游戲環(huán)境,利用腳本控制環(huán)境的無限生成。課題中共有三個游戲跑道環(huán)境,通過隨機生成下一個跑道,讓玩家體會到環(huán)境的變化。由于跑道可能會有彎曲處,通過路線的設(shè)置,規(guī)定小狗一直處于跑道中。 (2)游戲功能設(shè)計方面的難題 在小狗快跑這款游戲中,整個游戲功能的設(shè)置是此項目的中心。該游戲有多項功能,玩家可以自主地選擇要實現(xiàn)的功能,給用良好的游戲體驗:1 運行游戲,首先進(jìn)入的是歡迎界面,隨后進(jìn)入的是本游戲的加載界面,這里使用異步加載技術(shù),可以直觀的看到游戲的加載進(jìn)度。2 加載結(jié)束后進(jìn)入本游戲的主菜單界面,這是游戲的中轉(zhuǎn)站,從這里可以通過單擊不同的功能按鈕進(jìn)入不同的界面。單擊“成績”
17、按鈕,進(jìn)入成績界面,成績界面上半部分顯示游戲的最高路程、分?jǐn)?shù)和金幣數(shù),下半部分顯示出游戲總的路程、分?jǐn)?shù)和金幣數(shù)。單擊“返回”按鈕回到主菜單界面。單擊“設(shè)置”按鈕,進(jìn)入設(shè)置界面。通過滑動滾條設(shè)置音量大小和感應(yīng)靈敏度大小。單擊“返回”按鈕回到主菜單界面。單擊“關(guān)于”按鈕,進(jìn)入關(guān)于界面。單擊“返回”按鈕回到主菜單界面。在主界面單擊“退出”按鈕,退出游戲。3 在主菜單選擇“開始游戲”,進(jìn)入游戲界面,正式開始游戲。游戲界面的右下角為暫停按鈕,右上角是計分板。當(dāng)小狗收集到各種道具時游戲界面的左邊會出現(xiàn)道具效果的剩余時間顯示條。當(dāng)玩家在游戲界面按下暫停按鈕后,會從屏幕上方滾出游戲暫停界面,界面顯示本次游戲的
18、路程、分?jǐn)?shù)、金幣。單擊“主菜單”按鈕,返回主菜單界面;單擊“新游戲”,從新開始游戲;單擊“繼續(xù)游戲”按鈕,從新開始游戲。4 當(dāng)小狗碰撞到障礙物時,滾出游戲結(jié)束界面,此時會顯示出本次游戲的路程、分?jǐn)?shù)、金幣和是否超過最高紀(jì)錄。單擊“主菜單”按鈕,返回主菜單界面,單擊“再來一次”按鈕,從新開始游戲。 (3) 小狗酷跑碰撞邏輯方面的難點 小狗開始時處于屏幕中央,而游戲中的障礙物是隨機出現(xiàn)的,因此玩家需要操控小狗躲避障礙物。通過創(chuàng)建碰撞監(jiān)視器和編寫腳本,通過碰撞監(jiān)視查看小狗是否發(fā)生碰撞,若沒有發(fā)生碰撞,游戲繼續(xù)運行,否則彈出游戲結(jié)束界面。2 平臺簡介 每款游戲都需要一個適合開發(fā)的平臺,手機游戲的平臺雖然
19、比較多,但是每款游戲所應(yīng)用的平臺是不同的。合適的平臺應(yīng)該是程序員得力的助手,是游戲設(shè)計的初始化靈魂。2.1 開發(fā)平臺介紹在基于unity的android手機小狗快跑游戲研發(fā)中,主要運用到的工具有三個:一個unity 3d游戲引擎,它用于安卓小狗快跑游戲的開源框架,可以為游戲開發(fā)者構(gòu)建3d游戲、演示游戲程序和一些圖形界面交互和繪制等。通過unity的簡單用戶界面,玩家可以完成任何工作;要使unity項目能夠在手機上運行,必須將其轉(zhuǎn)化成apk文件,這時需要一個安卓專屬的軟件開發(fā)工具包:android sdk;最后一個是visual studio 2010外部腳本編譯器(也可以使用unity 內(nèi)置的
20、monodevelop腳本編譯器),開發(fā)相關(guān)的c#游戲腳本。2.1.1 開發(fā)環(huán)境visual studio 2010 visual studio 2010是微軟公司推出的開發(fā)環(huán)境,是目前最流行的window平臺應(yīng)用程序開發(fā)環(huán)境。microsoft visual studio 2010支持c#、c+ 、vb多種語言,可以快速實現(xiàn)相應(yīng)的功能。所寫的目標(biāo)代碼適用于微軟支持的所有平臺,包括microsoft windows、.net framework、.net compact framework 和microsoft silverlight 及windows phone。特點易于使用、高效、靈活。在
21、此設(shè)計中利用其開發(fā)unity游戲相關(guān)的c#腳本。2.1.2 插件android sdk sdk是software development kit的簡稱,中文名譯為軟件開發(fā)工具包。被廣大軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。android sdk 指的是android專屬的軟件開發(fā)工具包。 2.1.3 游戲引擎unity unity是由unity technologies開發(fā)的一個讓玩家輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內(nèi)容的多平臺的綜合型游戲開發(fā)工具,是一個全面整合的專業(yè)游戲引擎。unity類似于director
22、、blender game engine、 virtools 和 torque game builder等利用交互的圖型化開發(fā)環(huán)境為首要方式的3d游戲引擎軟件。其編輯器運行在windows 和mac os x下,可發(fā)布游戲至windows、mac、wii、iphone、windows phone 8和android平臺。也可以利用unity web player插件發(fā)布網(wǎng)頁游戲,支持mac 和windows的網(wǎng)頁瀏覽。實時三維圖形混合音頻流、視頻流。2.2 小狗快跑架構(gòu)分析 開發(fā)課題時,在完成游戲開發(fā)前的策劃和準(zhǔn)備工作后,就要進(jìn)行設(shè)計游戲場景和相關(guān)腳本編寫工作,并且描繪游戲的整體架構(gòu)。2.2.
23、1 游戲場景及相關(guān)腳本 基于unity的小狗快跑游戲開發(fā)中,場景開發(fā)是游戲開發(fā)的主要工作。每個場景包含多個游戲?qū)ο?,其中某些對象還被附加了特定功能腳本。本游戲包含包含三個游戲場景,接下來對幾個場景進(jìn)行簡要的介紹。(1)主菜單場景 “welcome”是游戲場景的中心場景,該游戲場景中有多個游戲?qū)ο?,主要包括主攝像機、小狗、森林等模型或者場景對象。在該場景中可以通過單擊按鈕進(jìn)入其他界面,如游戲界面,設(shè)置界面,關(guān)于界面,成績界面等,該場景中包含的腳本如圖2.1所示。 小狗下滑監(jiān)視器(crashsmallcolider.cs) 小狗跳躍監(jiān)視器(crashbigcollider.cs)主攝相機(welc
24、omebutton.cs,gradedisplay.cs,options.cs,explations.cs,smoothfollw.cs)小狗(welcomerun.cs,welcomeanimation.cs) 主菜單 場景圖2.1主場景的框架圖 (2)游戲場景游戲場景”startgame”是本游戲最重要的場景,該場景中有多個游戲?qū)ο螅饕袛z像機,小狗,森林,障礙物,金幣,磁鐵,鉆石等模型或者場景對象。本游戲中的其他對象,如特等粒子渲染效果、金幣模型等被制作成預(yù)制作。該場景中包含的腳本如圖2.2所示。主攝相機(dashboard.cs,envgenerator.cs,gamecontrol
25、er.cs,smoothfollw.cs) 游戲結(jié)束監(jiān)視器 (gameover.cs)小狗(dogmove.cs,doganimation.cs) 小狗跳躍監(jiān)視器(crashbigcollider.cs) 小狗下蹲監(jiān)視器(crashsmallcolider.cs) 游戲場景 圖2.2游戲場景的框架圖 (3)加載場景加載場景”loading”用于實現(xiàn)游戲場景的異步加載,顯示進(jìn)度條。場景中包含主攝像機”main camera”,其功能是實現(xiàn)異步加載到其他的游戲場景、繪制加載進(jìn)度條等,這樣可以動態(tài)地顯示加載進(jìn)度。該場景中包含的腳本如圖2.3所示。 主攝像機(loader.cs)加載場景圖2.3加載場
26、景的框架圖2.2.2 游戲框架簡介(1)打開本游戲,首先進(jìn)入的是主場景”welcome”,主攝像機”main camera”被激活,其掛載的腳本”welcomebutton.cs”和掛載在”player”的游戲?qū)ο蟮哪_本”welcomerun.cs”開始執(zhí)行,顯示出主菜單界面,小狗原地不動。如果設(shè)置了背景音樂為可播放,則同時播放背景音樂。(2)在主菜單界面單擊”開始游戲”按鈕后,則游戲進(jìn)入場景”startgame”.該場景的主相機激活,開始執(zhí)行其上掛載的腳本”dashboard.cs”,”envgenerator.cs”,”gamecontroler.cs”,”smoothfollw.cs”(
27、3)在腳本”forests.cs”的作用下,在場景上生成金幣,磁鐵,鉆石和障礙物等。在腳本”smoothfollow.cs”的作用下攝像機跟隨小狗移動,腳本”dashboard.cs”用于繪制游戲場景的暫停按鈕,計分板,道具剩余時間等。(4)“player”游戲?qū)ο髵燧d的腳本”dogmove.cs”開始執(zhí)行,小狗在”dogmove.cs”腳本的作用下不斷地向前奔跑。“player”游戲?qū)ο笙碌淖訉ο蟆癲og”上掛載“player”的”doganimation.cs”用于讓玩家控制小狗跳躍,下蹲,左轉(zhuǎn)和右轉(zhuǎn)。(5)主菜單界面單擊”成績”按鈕,主攝像機上掛載的腳本”welcomebutton.cs
28、”被禁用,而腳本”gradedisplay.cs”被啟用,進(jìn)入成績界面。(6)主菜單界面單擊”設(shè)置”按鈕,主攝像機上掛載的腳本”welcomebutton.cs”被禁用,而腳本”options.cs”被啟用,進(jìn)入設(shè)置界面。(7)主菜單界面單擊”關(guān)于”按鈕,主攝像機上掛載的腳本”welcomebutton.cs”被禁用,而腳本”explations.cs”被啟用,進(jìn)入關(guān)于界面。3 需求分析 需求分析是對一個系統(tǒng)中疑難問題的解決方法進(jìn)行詳細(xì)的分析,一般在需求分析中要弄清系統(tǒng)的整個架構(gòu),有哪些需求要實現(xiàn),通過輸入一些怎樣的數(shù)據(jù),通過實現(xiàn),輸出怎樣的結(jié)果。一個好的需求分析能夠定位我們將要進(jìn)行的事情和要
29、達(dá)到的最終成果。3.1 系統(tǒng)概述 游戲分為五個大模塊:開始游戲、成績、關(guān)于、設(shè)置、退出。游戲采用主菜單場景,玩家可以自由地選擇要實現(xiàn)的功能。成績模塊顯示玩家游戲信息,設(shè)置模塊進(jìn)行游戲設(shè)置,開始游戲模塊實現(xiàn)運行游戲,關(guān)于模塊介紹游戲開發(fā)者信息,退出模塊用于退出游戲。系統(tǒng)的用例圖如3.1所示。 圖3.1 系統(tǒng)用例圖 3.2 系統(tǒng)簡介 在安卓版的小狗酷跑游戲系統(tǒng)中,總共提供五個系統(tǒng)功能:成績功能、設(shè)置功能、開始游戲功能和關(guān)于功能。3.2.1 成績 成績里存儲著游戲玩家的相關(guān)信息。成績里有兩大模塊:單詞游戲和總游戲時間,單詞游戲中可以顯示最高分、最高路程、最多金幣;總游戲時間里面顯示總游戲時間、總路程
30、和金幣總數(shù)。成績功能的設(shè)計在表3.1中列出。表 3.1 成績的詳細(xì)設(shè)計name function precondition postconditions basic flow 成績 玩家可以查看自己的游戲信息 玩家進(jìn)入了游戲主界面 玩家點擊成績 按鈕 玩家進(jìn)入成績界面3.2.2 設(shè)置 游戲設(shè)置對小狗快跑的背景音樂和靈敏度進(jìn)行了設(shè)置,玩家可以根據(jù)自己的喜好進(jìn)行設(shè)置,比如背景音樂的開啟和關(guān)閉。游戲中的設(shè)置這一功能的設(shè)計用表3.2來說明。表 3.2 設(shè)置的詳細(xì)設(shè)計name function precondition postconditions basic flow 設(shè)置 玩家可以設(shè)置背景音樂和靈敏
31、度玩家對游戲設(shè)置進(jìn)行更改 玩家對游戲?qū)傩缘母淖?玩家進(jìn)入游戲設(shè)置界面。 進(jìn)行設(shè)置3.2.3 關(guān)于 關(guān)于部分主要介紹游戲開發(fā)者信息,讓玩家更進(jìn)一步了解游戲。表3.6列出了游戲中幫助的具體內(nèi)容。表 3.2 關(guān)于的詳細(xì)設(shè)計name function precondition postconditions basic flow 關(guān)于 介紹游戲的開發(fā)者信息 玩家想要對游戲初步了解 點擊返回退出關(guān)于界面 在主菜單界面點擊選項關(guān)于3.2.4 開始游戲 開始游戲功能讓玩家正式進(jìn)行游戲,開始游戲功能在表3.4中列出。表 3.2 開始游戲的詳細(xì)設(shè)計name function precondition postco
32、nditions basic flow 開始游戲玩家可以進(jìn)入游戲,正式開始游戲進(jìn)入主游戲界面游戲結(jié)束點擊主界面按鈕點擊開始游戲按鈕4 系統(tǒng)概要設(shè)計 在系統(tǒng)概要設(shè)計里,包含一些系統(tǒng)的架構(gòu),主要功能之間的結(jié)構(gòu)體系。復(fù)雜的結(jié)構(gòu)可以通過簡單的對象使之簡化,然后再將這些分解的對象合并達(dá)到最終的系統(tǒng)。4.1 游戲設(shè)計 游戲的設(shè)計是對整個游戲的構(gòu)思和布局,在游戲?qū)崿F(xiàn)最初要有一定的規(guī)劃設(shè)計,這樣在游戲?qū)崿F(xiàn)時,就明白該怎樣一步一步的進(jìn)行了。小狗快跑項目文件組織設(shè)計,如圖4.1所示。圖4.1小狗快跑文件組織設(shè)計圖4.1.1 小狗快跑游戲背景 跑酷是一種非常受青少年喜愛的極限運動,但生活中由于環(huán)境和能力的限制,人們
33、無法體驗到跑酷的快感。在這種環(huán)境下跑酷類游戲孕育而生。因為跑酷類游戲能夠非常發(fā)揮玩家的反應(yīng)能力,非常適合青少年休閑娛樂,所以現(xiàn)在非常流行。4.1.2 游戲功能的設(shè)計 (1)運行游戲,首先進(jìn)入的是歡迎界面,隨后進(jìn)入的是本游戲的加載界面,這里使用異步加載技術(shù),可以直觀的看到游戲的加載進(jìn)度。 (2)加載結(jié)束后進(jìn)入本游戲的主菜單界面,這是游戲的中轉(zhuǎn)站,從這里可以通過單擊不同的功能按鈕進(jìn)入不同的界面。單擊“成績”按鈕,進(jìn)入成績界面,單擊“返回”按鈕回到主菜單界面。單擊“設(shè)置”按鈕,進(jìn)入設(shè)置界面,單擊“返回”按鈕回到主菜單界面。單擊“關(guān)于”按鈕,進(jìn)入關(guān)于界面。單擊“返回”按鈕回到主菜單界面。在主界面單擊“
34、退出”按鈕,退出游戲。 (3)在主菜單選擇“開始游戲”,進(jìn)入游戲界面,正式開始游戲。游戲界面的右下角為暫停按鈕,右上角是計分板。當(dāng)小狗收集到各種道具時游戲界面的左邊會出現(xiàn)道具效果的剩余時間顯示條。當(dāng)玩家在游戲界面按下暫停按鈕后,會從屏幕上方滾出游戲暫停界面,界面顯示本次游戲的路程、分?jǐn)?shù)、金幣。單擊“主菜單”按鈕,返回主菜單界面;單擊“繼續(xù)游戲”按鈕,繼續(xù)本次游戲。 (4)當(dāng)小狗碰撞到障礙物時,出現(xiàn)游戲結(jié)束界面,此時會顯示出本次游戲的路程、分?jǐn)?shù)、金幣和是否超過最高紀(jì)錄。單擊“主菜單”按鈕,返回主菜單界面,點擊開始游戲可以繼續(xù)進(jìn)行下一次游戲。4.1.3環(huán)境類 環(huán)境類是游戲的一個重要的類,環(huán)境類主要
35、定義游戲的跑道環(huán)境,此游戲共有三個環(huán)境。不同的環(huán)境擁有不同的路線點集,詳細(xì)設(shè)計如圖表4.1所示。表4.1 環(huán)境的詳細(xì)設(shè)計 name waypointsnumber characteristicforest_1 34路線點是彎曲的,但是在同一高度上forest_2 2路線點是直線的,而且在同一高度上forest_327路線點是彎曲的,同時高度不一致4.1.4道具類 道具類定義了游戲過程的出現(xiàn)的各種道具,其中包括金幣、磁鐵和鉆石。每個道具生成的概率有所不同,并且擁有各自的效果加成,道具詳細(xì)設(shè)計如圖表4.2所示。 表4.2 道具的詳細(xì)設(shè)計 name probability functions too
36、lcoins98.5%分?jǐn)?shù)加成,獲取一個金幣增加10分 toolcurrencys0.5%無敵狀態(tài),并且吸附金幣,跑動速度加快 toolmagnets1%磁鐵效果,可以吸附金幣 圖4.2 道具類的詳細(xì)參數(shù)4.1.5障礙物類 障礙物類定義游戲的多種障礙物,因為障礙物的長、寬、高各不相同,所以道具單行生成的個數(shù)可能不一樣,詳細(xì)設(shè)計如圖表3.3所示。表3.3 障礙物的詳細(xì)設(shè)計namelinemaxnumbercollidercenterheightobstacles_barbwiremultilane13 box collider6obstacles_barbwiresinglelane33 box
37、 collider5.62obstacles_fallentree13 box collider7obstacles_rock31 box collider6.23obstacles_tree_branch13 box collider0obstacles_treebark11 capsule collider4.37obstacles_treestump11 capsule collider6.25 圖4.3 幾種障礙物的詳細(xì)參數(shù)4.1.5 游戲中對碰撞邏輯的說明 小狗一直處于屏幕中央,而游戲中的障礙物是隨機出現(xiàn)的,因此玩家需要操控小狗躲避障礙物。通過創(chuàng)建碰撞監(jiān)視器和編寫腳本,通過碰撞監(jiān)視查
38、看小狗是否發(fā)生碰撞,若沒有發(fā)生碰撞,游戲繼續(xù)運行,否則彈出游戲結(jié)束界面。4.1.6 小狗動畫模型播放規(guī)則在安卓版小狗快跑游戲中,不同的小狗動畫模型播放的速度有所不同。其中奔跑動畫每秒2幀,左轉(zhuǎn)和右轉(zhuǎn)動畫每秒0.2幀,跳躍動畫每秒0.5幀,下蹲動畫每秒0.1幀。小狗模型不同動作的動畫是根據(jù)玩家操作進(jìn)行切換播放的。4.2 系統(tǒng)架構(gòu) 小狗快跑的總體架構(gòu)包括:游戲加載、游戲主界面、選擇功能、游戲開始、設(shè)置、成績等。游戲系統(tǒng)的架構(gòu)如圖4.1所示。 圖 4.1 系統(tǒng)整體架構(gòu)加載游戲:用戶在手機上點擊游戲后,進(jìn)入加載游戲界面。游戲主界面:玩家可在主界面中看到游戲的整體包涵功能。游戲開始:玩家開始體驗游戲的快
39、樂。成績:玩家可以查看自己歷史最高成績、獲得金幣數(shù)等。設(shè)置:玩家根據(jù)自己的喜好對游戲可以改變的功能進(jìn)行選取。4.3 系統(tǒng)功能結(jié)構(gòu) 游戲的主要功能模塊有:加載游戲、設(shè)置、關(guān)于、成績和開始游戲。加載游戲時,會顯示緩沖條和游戲圖片。加載結(jié)束后進(jìn)入主界面,主界面有五個選項。游戲系統(tǒng)機構(gòu)圖結(jié)構(gòu)如圖4.2所示。 圖4.2系統(tǒng)功能結(jié)構(gòu)圖4.4 系統(tǒng)功能模塊簡介 這一款游戲主要功能模塊有:成績、關(guān)于、開始游戲、設(shè)置、退出游戲等功能模塊。4.4.1 成績功能 成績界面是游戲的主要界面之一,在成績界面中玩家可以看到相關(guān)的游戲信息。成績界面顯示信息主要分兩個模塊:單次游戲和總游戲時間。單次游戲模塊匯報玩家游戲中的最
40、高分、最高路程和最多金幣,而總游戲時間模塊中統(tǒng)計玩家游戲的總游戲數(shù)、總路程和總金幣數(shù)。成績界面讓玩家可以更加了解自己的游戲信息,以激勵玩家挑戰(zhàn)自我,更進(jìn)一步。4.4.2 關(guān)于功能 關(guān)于功能主要介紹本游戲開發(fā)者信息和游戲操作方法。在主菜單界面右上方,玩家點擊“關(guān)于”按鈕后進(jìn)入關(guān)于界面,在此界面中玩家可以查看游戲的相關(guān)信息的介紹,此功能可以讓玩家更快上手此游戲。4.4.3 開始游戲功能 在主界面的正中方點擊開始游戲選項,小狗模型開始奔跑,玩家正式進(jìn)入游戲,體驗游戲的快樂。4.4.4 設(shè)置功能設(shè)置游戲功能可以對游戲進(jìn)行相關(guān)設(shè)置,玩家可以根據(jù)個人需求和愛好來調(diào)節(jié)游戲音樂的音量大小和重力感應(yīng)靈敏度。進(jìn)入
41、主菜單,然后點擊“設(shè)置”選項,即可以進(jìn)入對背景音樂和重力感應(yīng)靈敏度的設(shè)置,當(dāng)開啟背景音樂后,在游戲中會有相應(yīng)的背景音樂出現(xiàn),可以使玩家玩的更酣暢。4.4.5 暫停功能 游戲運行界面中右下角有“暫?!卑粹o,點擊按鈕后游戲進(jìn)入暫停界面,玩家如果想要繼續(xù)游戲,點擊界面中的“繼續(xù)游戲”按鈕,回到游戲界面并且有3秒的緩沖時間。當(dāng)玩家遇到特殊情況,可以選擇暫停來保存游戲進(jìn)度,這充分照顧了玩家的需求。4.4.6 退出功能 在游戲主界面我們設(shè)置了退出按鈕,而在游戲運行界面我們設(shè)置了暫停按鈕。暫停是在玩家需要暫時停止一會游戲時觸發(fā)的事件,而玩家在需要退出游戲時點擊或點觸主菜單退出游戲就可以退出小狗快跑游戲了。5
42、 游戲界面設(shè)計 眾所周知,游戲的界面是最直接與玩家接觸的平臺,而這一平臺對玩家來說也是最重要的。一個比較好的游戲界面除了可以很快的吸引玩家,還可以幫助玩家快速的進(jìn)入游戲狀態(tài)。游戲界面的合理化設(shè)計是人和機器相互進(jìn)行交互的最直接的操作方式。游戲的界面一般要求營造美觀,操作簡單、秩序感比較強而且要有一定的引導(dǎo)功能,好的游戲界面能為游戲的宗旨和游戲的內(nèi)容所服務(wù)。5.1 系統(tǒng)結(jié)構(gòu)設(shè)計通過分析軟件的架構(gòu)和體系,設(shè)計了該款android版的小狗快跑游戲,游戲的主要界面包括:游戲加載界面、游戲主菜單界面、游戲成績界面、游戲設(shè)置界面、游戲關(guān)于界面。玩家在手機點擊游戲的圖標(biāo),啟動軟件后屏幕會顯示游戲的一個初始界面
43、,加載界面后畫面跳轉(zhuǎn)到游戲主菜單界面。在游戲的主菜單界面,有三大塊:游戲成績,查看關(guān)于功能和游戲設(shè)置模塊。不同的界面具有不同的功能,各個界面的轉(zhuǎn)換關(guān)系如圖5.1所示。圖 5.1 界面轉(zhuǎn)換關(guān)系圖5.2 游戲初始界面設(shè)計 玩家在開始游戲時候會看到一個加載界面。加載界面有三個圖標(biāo):小狗形象圖標(biāo)、游戲名圖標(biāo)和加載進(jìn)度條圖標(biāo),加載界面的顯示需要相關(guān)腳本支持。運行界面如圖5.2所示。圖5.2加載界面5.2.1緩沖條的實現(xiàn) 為了更好游戲的游戲體驗,在各個場景之間跳轉(zhuǎn)時都會顯示加載界面,用于顯示加載背景和加載進(jìn)度。加載進(jìn)度的顯示主要運用以下代碼:progress = gress; /獲取加載
44、進(jìn)度loadx = screen.width * 0.8f * (progress - lastprogress); /設(shè)置加載條顯示位置lasprogress = progress; /將加載進(jìn)度賦給上一次加載進(jìn)度5.3 游戲主菜單界面 主界面有五個按鈕:成績、關(guān)于、設(shè)置、退出和開始游戲。各個按鈕響應(yīng)的界面和背景不同。成績按鈕響應(yīng)成績界面,關(guān)于按鈕響應(yīng)關(guān)于界面,設(shè)置按鈕響應(yīng)設(shè)置界面,退出按鈕響應(yīng)退出游戲,開始游戲按鈕響應(yīng)游戲界面。主游戲界面界面友好,容易操作,魯棒性強,可以給玩家很好的游戲體驗。游戲主菜單運行界面如圖5.2所示。 圖5.3 主菜單運行界面5.4 設(shè)置界面 設(shè)置界面有兩個選項:
45、感應(yīng)度和音量,通過滑動滾動條可以來設(shè)置它們的大小。設(shè)置的運行界面如圖5.4所示。圖5.4 設(shè)置運行界面5.5 成績界面 成績界面主要是記錄玩家游戲各種數(shù)據(jù),在這個界面你可以知道最高分?jǐn)?shù)、最高路程、最多金幣數(shù)、總路程、總金幣數(shù)、總游戲數(shù)等。玩家可以查看自己的游戲信息。成績累計的主要相應(yīng)程序:fenshu = playerprefs.getint(fenshu); /獲得最高分?jǐn)?shù)lucheng = playerprefs.getint(lucheng); /跑得最高路程jinbi = playerprefs.getint(jinbi); /獲得最高金幣數(shù)zonglucheng = playerpr
46、efs.getint(zonglucheng); /獲得總路程zongjinbi = playerprefs.getint(zongjinbi); /獲得總金幣數(shù)zongchangshu = playerprefs.getint(zongchangshu); /獲得總游戲數(shù)成績的運行界面如圖5.5所示。圖5.5成績的運行界面5.6 關(guān)于界面 關(guān)于界面主要作用就是簡單地介紹游戲的玩法和游戲開發(fā)者信息,讓玩家充分了解游戲相關(guān)的信息。關(guān)于界面的運行界面如圖5.6所示。圖5.6 關(guān)于的運行界面5.7 游戲界面 點擊開始游戲后,進(jìn)入游戲界面,小狗對象開始跑動。儀表板開始繪制并記錄路程和分?jǐn)?shù)。障礙物隨機生
47、成,同時金幣和道具模型生成。游戲過程中玩家如有需要可以選擇暫停,暫?;貋碛腥氲木彌_時間,這充分照顧玩家的需求。跑酷游戲的核心腳本是無限環(huán)境生成,當(dāng)小狗跑動時,主攝像機的envgenerator.cs要檢測小狗位置的z軸坐標(biāo)值(即transform.postion.z),以便生成下一個環(huán)境。其代碼如下:public class environgenator : monobehaviour public forest forest1; /小狗對當(dāng)前所處環(huán)境 public forest forest2; /小狗下一個要進(jìn)入的環(huán)境 public int forestcount = 2; /小狗經(jīng)過的
48、環(huán)境個數(shù) public gameobject forests; /環(huán)境對象數(shù)組 public void generateforest() forestcount+; float z = 3000 * forestcount; int index = random.range(0, 3); /0 1 2 gameobject newforest = gameobject.instantiate(forestsindex, new vector3(0, 0, z), quaternion.identity) as gameobject; forest1 = forest2; forest2 = n
49、ewforest.getcomponent(); /生成下一個環(huán)境 游戲進(jìn)行的運行界面如圖5.7所示。圖5.7 游戲的運行界面圖5.7 游戲暫停的運行界面5.8 游戲結(jié)束界面 當(dāng)小狗觸碰到障礙物的時候,會彈出游戲結(jié)束界面。結(jié)束界面會顯示玩家本次游戲的小狗奔跑路程,獲得的金幣數(shù)以及得到的分?jǐn)?shù)。而且會顯示玩家是否超越記錄,若超越則顯示新記錄,反之顯示與記錄的差距。點擊“主菜單”按鈕,游戲?qū)祷赜螒蛑鞑藛谓缑?。游戲結(jié)束運行界面如圖5.8所示。 圖5.8 游戲結(jié)束的運行界面6 系統(tǒng)詳細(xì)設(shè)計 小狗快跑游戲采用的是面向?qū)ο蟮脑O(shè)計方法,在最初的設(shè)計過程中是將系統(tǒng)中的各個事物看做不同的對象。有些對象很復(fù)雜,
50、于是我們用一些比較簡單的對象以組合的形式構(gòu)建成一個復(fù)雜的對象,這樣就需我們將不同的對象劃分為相應(yīng)的對象類,根據(jù)c#語法對這些對象類進(jìn)行定義數(shù)據(jù)和方法,并且根據(jù)相關(guān)關(guān)系來建立子類與父類,這樣的結(jié)構(gòu)關(guān)系使得程序員的思路更清晰明了。6.1 模型的布局分析 在unity游戲引擎中將每一個對象看做是一個模型。各個模型都會有一定的屬性,相似屬性的模型分配到同一層次,這樣每個對象的層次關(guān)系就很明確,易于程序的調(diào)試和閱讀。模型層次分布如表6.1所示。表6.1模型層次分布6.2游戲類的實現(xiàn)在小狗快跑游戲的界面設(shè)計中,需要在游戲的靜態(tài)類中定義各種不同狀態(tài)的常量(布爾常量):游戲暫停stop、游戲成績界面grade
51、display、游戲設(shè)置界面options、游戲關(guān)于界面explations。眾所周知,當(dāng)在系統(tǒng)中有很多選擇時,逐個界面一次實現(xiàn)。繪制不同狀態(tài)的游戲界面。6.2.1 welcomebutton類welcomebutton類是對游戲的主菜單界面的定義,在這個類中定義了開始游戲的按鈕的位置,在unity游戲引擎中獲取背景圖片和按鈕圖片常用代碼如:gui.button(new rect(圖片來源),然后對其橫縱坐標(biāo)進(jìn)行繪制。在初始化時,將所有點觸按鈕設(shè)置為false,并用布爾型來定義按鈕的狀態(tài)。當(dāng)按下指定按鈕位置時,相關(guān)事件得到響應(yīng),進(jìn)入到下一個界面。welcomebutton類圖如圖6.2所示。圖
52、6.2 welcomebutton類圖6.2.2 gradisplay類 游戲的成績類幫助游戲定義一個成績信息的類,將玩家的信息顯示在一個特定圖片的相應(yīng)位置。玩家可以查看自己的游戲狀態(tài),玩家點擊屏幕上的“返回”按鈕,可以將成績界面關(guān)閉,轉(zhuǎn)換成游戲的主菜單界面。gradedisplay類圖如圖6.3所示。圖6.3 gradedisplay類圖6.2.3 explations類 explation類定義游戲的關(guān)于類,將有關(guān)游戲的操作方法和開發(fā)者信息附在相應(yīng)的圖片上。在玩家最初接觸游戲時打開關(guān)于,使玩家更快的了解游戲,進(jìn)入角色。在查看完關(guān)于界面后,玩家在屏幕上點擊“返回”按鈕,將幫助窗口關(guān)閉,轉(zhuǎn)換都游戲的主菜單界面。explation類圖如圖6.4所示。圖6.4 explation類圖6.2.4 options類 options類是設(shè)置游戲選項使用
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- XXX村黨員個人整改措施計劃范文兩篇
- 旅行社導(dǎo)游培訓(xùn)
- 2025年柳州貨運上崗證模擬考試0題
- 2025年林芝c1貨運從業(yè)資格證模擬考試題
- 口腔齲病的講課
- 2025的汽車轉(zhuǎn)讓合同樣本
- 2025產(chǎn)品銷售合同簡單模板
- 2024年海南省中考數(shù)學(xué)真題卷及答案解析
- 2025鍋爐安裝施工合同范例
- 電信運營成本控制
- SPC&CPK 超全EXCEL模板
- 運動場監(jiān)理大綱
- 化工設(shè)計說明書
- 部編本語文八年級上全冊文言文課下注釋
- 十二種健康教育印刷資料
- 德力西系列變頻器說明書
- UleadGifAnimator教程
- 凱旋帝景地產(chǎn)杯籃球爭霸賽方案
- 煙草專賣(公司)內(nèi)部專賣管理監(jiān)督工作制度
- CFG樁施工中常見問題及處理措施
- 醫(yī)療廢物處置流程圖
評論
0/150
提交評論