基于-unity游戲制作論文-lhj_第1頁(yè)
基于-unity游戲制作論文-lhj_第2頁(yè)
基于-unity游戲制作論文-lhj_第3頁(yè)
基于-unity游戲制作論文-lhj_第4頁(yè)
基于-unity游戲制作論文-lhj_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-PAGE . zDONGFANG COLLEGE,F(xiàn)UJIAN AGRICULTURE AND FORESTRY UNIVERSITY論文題目:基于unity3d的游戲制作與展示 QQ346977633系 別: 計(jì)算機(jī)系年級(jí)專業(yè):0*級(jí)計(jì)算機(jī)科學(xué)與技術(shù)學(xué) 號(hào):0*50303029姓名:*指導(dǎo)教師:林*職稱:教授2013年04月23日-. zGame design and display based on unity3dTitle:Title單詞打印時(shí)將隱藏Department:Departmetn of puter ScienceMajor and Grade:puter Science a

2、nd TechnologyNumber:0950303029Name:ZhengziweiAdvisor:professor Lin hongjiDate:May,2013-. z農(nóng)林大學(xué)學(xué)院本科畢業(yè)設(shè)計(jì)(論文)作者承諾保證書本人重承諾: 本篇畢業(yè)設(shè)計(jì)(論文)的容真實(shí)、可靠。如果存在弄虛作假、抄襲的情況,本人愿承當(dāng)全部責(zé)任。學(xué)生簽名:年 月 日農(nóng)林大學(xué)學(xué)院本科畢業(yè)設(shè)計(jì)(論文)指導(dǎo)教師承諾保證書本人重承諾:我已按有關(guān)規(guī)定對(duì)本篇畢業(yè)設(shè)計(jì)(論文)的選題與容進(jìn)展了指導(dǎo)和審核,該同學(xué)的畢業(yè)設(shè)計(jì)論文中未發(fā)現(xiàn)弄虛作假的現(xiàn)象,本人愿承當(dāng)指導(dǎo)教師的相關(guān)責(zé)任。指導(dǎo)教師簽名:年 月 日目錄TOC o 1-3 h z

3、 uHYPERLINK l _Toc12511 摘要 PAGEREF _Toc12511 - 1 - HYPERLINK l _Toc14173 Abstract PAGEREF _Toc14173 - 2 - HYPERLINK l _Toc14023 1.1本課題的研究背景 PAGEREF _Toc14023 - 1 - HYPERLINK l _Toc31499 1.2本課題的研究意義 PAGEREF _Toc31499 - 2 -HYPERLINK l _Toc13612 1.3國(guó)外研究現(xiàn)狀 PAGEREF _Toc13612 - 2 - HYPERLINK l _Toc18096 1

4、.4 unity3D游戲引擎平臺(tái)的特點(diǎn) PAGEREF _Toc18096 - 3 - HYPERLINK l _Toc5211 1.5其他游戲引擎平臺(tái) PAGEREF _Toc5211 - 4 - HYPERLINK l _Toc7905 1.6 開發(fā)工具 PAGEREF _Toc7905- 5 - HYPERLINK l _Toc30254 2可行性分析要求 PAGEREF _Toc30254 - 5 - HYPERLINK l _Toc22361 2.1技術(shù)可行性 PAGEREF _Toc22361 - 6 - HYPERLINK l _Toc23442 2.2 經(jīng)濟(jì)可行性 PAGERE

5、F _Toc23442 - 6 - HYPERLINK l _Toc238 2.3 操作可行性 PAGEREF _Toc238 - 6 - HYPERLINK l _Toc16182 2.4可操作的平臺(tái) PAGEREF _Toc16182 - 7 - HYPERLINK l _Toc27639 3游戲的方案設(shè)計(jì) PAGEREF _Toc27639 - 7 - HYPERLINK l _Toc5849 3.1 游戲構(gòu)造方案設(shè)計(jì) PAGEREF _Toc5849 - 7 - HYPERLINK l _Toc2804 3.2游戲體系劃分構(gòu)造 PAGEREF _Toc2804 - 7 - HYPERL

6、INK l _Toc30666 3.3游戲的各功能劃分 PAGEREF _Toc30666 - 8 - HYPERLINK l _Toc8068 3.4游戲總體預(yù)覽 PAGEREF _Toc8068 - 9 - HYPERLINK l _Toc16530 4詳細(xì)設(shè)計(jì) PAGEREF _Toc16530 - 10 - HYPERLINK l _Toc11235 4.1 框架流程 PAGEREF _Toc11235 - 10 - HYPERLINK l _Toc30957 4.2 開場(chǎng)程序 PAGEREF _Toc30957 - 11 - HYPERLINK l _Toc13706 4.3登入界面

7、 PAGEREF _Toc13706 - 11 - HYPERLINK l _Toc25203 4.4音效背景 PAGEREF _Toc25203 - 12 - HYPERLINK l _Toc2475 4.5關(guān)卡設(shè)計(jì) PAGEREF _Toc2475 - 13 - HYPERLINK l _Toc18337 4.6適配器的設(shè)置 PAGEREF _Toc18337 - 14 - HYPERLINK l _Toc31380 5 功能實(shí)現(xiàn)與代碼分析 PAGEREF _Toc31380 - 14 - HYPERLINK l _Toc17448 5.1登陸界面GUI PAGEREF _Toc17448

8、 - 15 - HYPERLINK l _Toc1358 5.2關(guān)卡設(shè)置控件 PAGEREF _Toc1358 - 16 - HYPERLINK l _Toc22697 5.3風(fēng)箏轉(zhuǎn)向控制 PAGEREF _Toc22697 - 18 - HYPERLINK l _Toc2275 5.4對(duì)小鳥碰撞后的Level_3.cs腳本控制 PAGEREF _Toc2275 - 19 - HYPERLINK l _Toc27968 5.5 音效控制 PAGEREF _Toc27968 - 20 - HYPERLINK l _Toc17721 5.6 小鳥方向的控制 PAGEREF _Toc17721 -

9、22 - HYPERLINK l _Toc16787 5.7 ButtonMassage.cs PAGEREF _Toc16787 - 25 - HYPERLINK l _Toc17763 完畢語(yǔ) PAGEREF _Toc17763 - 28 - HYPERLINK l _Toc32326 參考文獻(xiàn) PAGEREF _Toc32326 - 29 - HYPERLINK l _Toc31478 致 PAGEREF _Toc31478 - 30 -. z摘要隨著數(shù)字化、科技化的信息技術(shù)開展,城市人們的生活節(jié)奏也大大加快;通過(guò)認(rèn)識(shí)unity3d的游戲制作引擎,對(duì)于社會(huì)上的兩大主流手機(jī)市場(chǎng)安卓與蘋果,

10、從而設(shè)計(jì)的一款以輕松,休閑為基調(diào)的游戲,來(lái)緩解人們?cè)诠ぷ魃系钠冢蜃屝蓍e之時(shí)得到一絲娛樂。Unity3d是一種游戲?qū)I(yè)的開發(fā)工具,根據(jù)物理碰撞,粒子系統(tǒng)等技術(shù),組建了以windows、andorid、ios等為平臺(tái)的游戲。并且對(duì)于個(gè)體的開發(fā)者來(lái)說(shuō)是具有創(chuàng)造力的,它可以在一邊測(cè)試的過(guò)程中一邊試玩。對(duì)于unity,人們不可能只是暫時(shí)的有想法,在其運(yùn)行過(guò)程中都可以讓開發(fā)者挖掘到樂趣、bug,然后修改測(cè)試直到擁有最吸引人的想法。其中unity支持生成apk文件并在Android手機(jī)上的運(yùn)行致使它的前景大好。而且他的目標(biāo)移動(dòng)平臺(tái)可以瞬間轉(zhuǎn)換,解決了一種資源可以在手機(jī)、網(wǎng)頁(yè)、pc和移動(dòng)平臺(tái)上進(jìn)展不同的體

11、驗(yàn)的問題。本次畢業(yè)設(shè)計(jì)的題目為基于unity3d的游戲制作與展示,旨在成功的設(shè)計(jì)出一款可以運(yùn)行在智能手機(jī)和各類電腦上的休閑、娛樂游戲,在畢業(yè)設(shè)計(jì)完成時(shí),可以通過(guò)多個(gè)平臺(tái),不同方式體驗(yàn)。游戲共包含7關(guān),從易到難。提供了一種放松、休閑的方式,實(shí)現(xiàn)了對(duì)上班一族的工作壓力緩解。關(guān)鍵詞: Unity3D;游戲;AndroidAbstractWith digital, science and technology, the development of information technology, the pace of life of the people of the city greatly ac

12、celerated; through the a unity3d understanding of the game production engine, two mainstream mobile phone market, Android and Apple to design a rela*ed, casual for the tone of the game to relieve the fatigue of people at work or leisure time to get a trace of amusement. The Unity3d professional deve

13、lopment tools is a game, physical collisions, particle system, the formation of the windows, andorid, ios platform game. And for the development of the individual who is creative, it can be in the side of the test process while demo. For Unity, it is impossible to have only a temporary idea in the c

14、ourse of its operation, allows developers to tap into the fun, bug, and then modify the test until you have the most attractive idea. Unity support generated apk file and running on your Android phone causing it promising. And his goal mobile platform can be instantly converted to solve a resource p

15、roblem can be a different e*perience on the phone, web, PC and mobile platforms. The graduation project entitled unity3d-based game production and presentation, aimed at the successful design of a can run on smart phones and various types of puter leisure, entertainment, games, graduation design is

16、pleted by a platform, in different ways e*perience. The game contains 7, from easy to difficult.Provides a rela*ed, rela*ing way to ease the work pressure of the working people. Keywords: Unity3D; games; Android -. z1引言Unity3D是一個(gè)全面整合而來(lái)的專業(yè)游戲引擎,它支持多個(gè)平臺(tái),并且在市場(chǎng)上有百分之十的占有率,他是一個(gè)綜合性的游戲開發(fā)工具。Unity3d可以支持的平臺(tái)有win

17、dow、 iPhone和Android平臺(tái)。也可以利用Unity web player網(wǎng)絡(luò)插件發(fā)布網(wǎng)頁(yè)游戲,支持Windows和mac的網(wǎng)頁(yè)瀏覽。本次論文設(shè)計(jì)的題目基于unity3d的游戲制作與展示,這是一個(gè)十分具有吸引力的休閑游戲應(yīng)用;游戲設(shè)計(jì)的過(guò)程利用Unity3D引擎根本的功能組件,包括:GUI、碰撞器、角色控制、shader等,并獨(dú)立編寫功能、邏輯實(shí)現(xiàn)代碼,能夠?qū)崿F(xiàn)游戲的切換、關(guān)卡的設(shè)計(jì)、gui的界面設(shè)計(jì)、游戲音效音樂等的控制、游戲的觸屏控制等,為了讓上班一族或是休閑人士在輕松時(shí)刻得到一些娛樂。而游戲本身對(duì)于智能手機(jī)安卓,各類電腦,全面支持,讓其游戲多元化;游戲帶有滑稽趣味鍛煉敏捷度,

18、使得體驗(yàn)者在享受其過(guò)程的同時(shí)也得到了娛樂。而游戲所生成的apk文件更是支持安卓系統(tǒng),在不久的將來(lái)更加易于推廣。1.1本課題的研究背景生活中,工作里,空閑時(shí)人們都需要得到一點(diǎn)放松,休閑。本款趣味游戲給人們帶來(lái)一種娛樂方式,游戲中包含了許多闖關(guān)環(huán)節(jié),意在對(duì)工作壓力大,生活無(wú)聊閑時(shí)的一種自我調(diào)整等,使得體驗(yàn)者在放松自我的同時(shí)提高大腦的敏捷程度。本游戲的設(shè)計(jì)功能有:圖像配置屏幕分辨率設(shè)置圖像質(zhì)量調(diào)整全屏設(shè)計(jì)GUI界面游戲窗口圖片美化圖片導(dǎo)入音效控制關(guān)卡設(shè)計(jì)按鈕設(shè)計(jì)1.2本課題的研究意義本次游戲設(shè)計(jì)的出發(fā)點(diǎn)是在于趣味、休閑、放松;針對(duì)于一些上班族,在工作疲乏期間可以通過(guò)適當(dāng)玩玩游戲來(lái)調(diào)整自己,從而設(shè)計(jì)出

19、的一款單機(jī)趣味游戲。在游戲設(shè)計(jì)過(guò)程中參加極具放松的背景音樂,加上一些適當(dāng)?shù)年P(guān)卡設(shè)計(jì),在運(yùn)用unity導(dǎo)出e*e文件或apk文件,使得上班族無(wú)論想在手機(jī)上或是電腦上都可以體驗(yàn)。而且游戲運(yùn)行客服端是單機(jī)版,并不會(huì)占用太多的網(wǎng)絡(luò)資源。當(dāng)今社會(huì)越來(lái)越科技化,也越來(lái)越年輕化。青年勞開工作者將在未來(lái)幾十年占據(jù)主導(dǎo)力量,如何使這些人在工作的壓力下得到些許放松,也是我們即將要考慮的問題。本款游戲的設(shè)計(jì),使得勞開工作者能在工作期間得到一些放松,從而更好的調(diào)整自己。1.3國(guó)外研究現(xiàn)狀Unity3D是由丹麥Unity公司開發(fā)的游戲開發(fā)工具,國(guó)在這方面起步比擬晚,目前unity3d的應(yīng)用領(lǐng)域主要有vR虛擬現(xiàn)實(shí)技術(shù)、p

20、c網(wǎng)游、以及手機(jī)網(wǎng)游等。其中在vr虛擬現(xiàn)實(shí)的技術(shù)上德國(guó)更是取得了一定的成果。瑞典的DIVE分布式虛擬交換環(huán)境更是基于uni*的在同一世界不同節(jié)點(diǎn)多進(jìn)程上工作的異質(zhì)分布式系統(tǒng)。據(jù)我所知unity在生活應(yīng)用可分為四類:一是非可視化信息轉(zhuǎn)為可視化信息,例如:用于產(chǎn)品的設(shè)計(jì)、降低本錢和開發(fā)風(fēng)險(xiǎn);二是區(qū)域?qū)Ш?,例如:超市?gòu)物的導(dǎo)航,區(qū)域的監(jiān)控等。三是虛擬現(xiàn)實(shí)技術(shù),例如:?jiǎn)T工培訓(xùn)在新的生產(chǎn)設(shè)備投入使用之前可以模擬工廠來(lái)提高工人的操作水平;四是游戲的開發(fā),目前能生成apk文件的游戲引擎平臺(tái)不多,能同時(shí)生成e*e的pc客戶端跟apk文件的游戲引擎平臺(tái)更是少之又少。而在我國(guó)u3d開發(fā)的智能手機(jī)游戲比擬多,境之邊

21、緣,榮譽(yù)勛章空降兵,生化奇兵,虛擬競(jìng)技場(chǎng)。由于它在保證華美3D畫面的同時(shí)還能實(shí)現(xiàn)跨平臺(tái)的游戲開發(fā),包括PC、手機(jī)和平板電腦等不同終端,Unity3D技術(shù)開發(fā)的熱潮正在國(guó)展開,并且受到國(guó)游戲廠家以及多家互聯(lián)網(wǎng)巨頭的支持。1.4 unity3D游戲引擎平臺(tái)的特點(diǎn)Unity是一個(gè)支持多平臺(tái),交互性極強(qiáng)的游戲開發(fā)工具,是個(gè)權(quán)威的專業(yè)引擎,目前全球游戲開發(fā)使用占有率已突破10%,并不斷呈現(xiàn)上升趨勢(shì),unity是個(gè)兼容2d、3d的開發(fā)平臺(tái),并且很好的支持了window vista和*p、win7、andorid、ios等平臺(tái)使得其更容易滿足用戶的需求。目前Unity開發(fā)出來(lái)的主要網(wǎng)游產(chǎn)品有:蒸汽之城、捉迷

22、藏OL等。而Unity軟件本身在開發(fā)過(guò)程中主要有如下這些特點(diǎn):綜合編輯通過(guò)Unity簡(jiǎn)單的用戶界面,你可以完成任何工作。這些為你節(jié)省了大量的時(shí)間。圖形動(dòng)力Unity對(duì)Direct*和OpenGL擁有高度優(yōu)化的圖形渲染管道。資源導(dǎo)入U(xiǎn)nity支持所有主要文件格式,并能和大局部相關(guān)應(yīng)用程序協(xié)同工作。一鍵部署Unity可以讓你的作品在多平臺(tái)呈現(xiàn)。iPhone平臺(tái)發(fā)布、andorid平臺(tái)發(fā)布Unity讓革命性的游戲開發(fā)降臨革命性的設(shè)備。著色器Unity的著色器系統(tǒng)整合了易用性、靈活性和高性能。地形低端硬件亦可流暢運(yùn)行廣闊茂盛的植被景觀。聯(lián)網(wǎng)從單人游戲到全實(shí)時(shí)多人游戲。物理特效Unity置的NVIDIA

23、Phys*物理引擎帶給你生活的互動(dòng)。音頻和視頻實(shí)時(shí)三維圖形混合音頻流、視頻流。光影Unity提供了具有柔和陰影與烘焙lightmaps的高度完善的光影渲染系統(tǒng)。腳本支持Unity支持3種腳本語(yǔ)言:JavaScript,C#,Boo。Unity資源效勞器Unity資源效勞器是一個(gè)附加的包括版本控制的產(chǎn)品。文檔Unity為你提供逐步的指導(dǎo)、文檔和實(shí)例方案。正是以上這些特點(diǎn),使得unity在開發(fā)的過(guò)程中越來(lái)越受到人們的親睞。1.5其他游戲引擎平臺(tái)Unreal主要特點(diǎn):1、擁有優(yōu)秀的編輯工具,強(qiáng)大的渲染引擎支持多線程。2、擁有高級(jí)動(dòng)畫系統(tǒng),強(qiáng)大的腳本支撐。3、模擬物理系統(tǒng),真實(shí)的光影效果。4、具有優(yōu)秀

24、的地形渲染效果,支持多層材質(zhì)混合,真實(shí)的侵蝕和風(fēng)化效果,超炫的游戲中的電影效果。但其缺乏之處在于:只支持Windows *P系統(tǒng)。Gamebryo的主要特點(diǎn):1、提供開發(fā)式平臺(tái),并且支持游戲所需的資源導(dǎo)出插件。2、提供操作者三個(gè)主要工具分別是資源觀察器AssetViewer、動(dòng)畫工具Animation Tool和場(chǎng)景編輯器Scene Designer。主要的技術(shù)支持有場(chǎng)景圖構(gòu)造Scene Graph、渲染系統(tǒng)Frame Rendering、材質(zhì)系統(tǒng)Material/Shader/Te*ture、多線程管理系統(tǒng)Floodgate、幾何模型系統(tǒng)NiMesh、動(dòng)畫系統(tǒng)Animation、物理系統(tǒng)Ph

25、ysics。但其缺乏之處在于:游戲引擎價(jià)格偏高,適用于公司團(tuán)隊(duì),不適合個(gè)人開發(fā)。Bigworld的主要特點(diǎn):1、低風(fēng)險(xiǎn)、低投資集成度高。2、多進(jìn)程,腳本使用方便,Server間的跨進(jìn)程通訊被隱藏性好。3、使用C+開發(fā)的,使用的效勞器是Linu*,只支持RedHat,而且核心代碼,即動(dòng)態(tài)均衡負(fù)載代碼是不提供源碼的。4、不是針對(duì)地圖為單元,將地圖為單元分擔(dān)到獨(dú)立進(jìn)程中去管理的。但其缺乏之處在于:隱藏細(xì)節(jié)多造成修改上的難度大有局限性,支持的平臺(tái)不是很多。Ogre的主要特點(diǎn):1、全面支持Windows,Linu*以及Mac OS *平臺(tái)。2、構(gòu)架簡(jiǎn)單支持自動(dòng)渲染與剪裁。3、支持多種圖片格式以及多種著色

26、語(yǔ)言。4、物理系統(tǒng)強(qiáng)大光影效果突出。5、支持的高級(jí)插件較多。6、免費(fèi)產(chǎn)品更受個(gè)體開發(fā)用戶追捧。但其缺乏之處在于:適合pc端網(wǎng)游,支持的平臺(tái)不多,手機(jī)網(wǎng)游上欠缺。1.6 開發(fā)工具本單元就先簡(jiǎn)單介紹下此款游戲開發(fā)所用的語(yǔ)言、技術(shù)或工具,對(duì)于它們的詳細(xì)定義就不多做解釋。Visual studio 2008:微軟公司推出的開發(fā)環(huán)境,負(fù)責(zé)本次游戲的邏輯開發(fā)。Photoshop:Adobe Photoshop,簡(jiǎn)稱PS,是一個(gè)由Adobe Systems開發(fā)和發(fā)行的圖像處理軟件。Photoshop主要處理以像素所構(gòu)成的數(shù)字圖像。使用其眾多的編修與繪圖工具,可以更有效的進(jìn)展圖片編輯工作。Unity3d:un

27、ity3D是由Unity Technologies開發(fā)的一個(gè)讓玩家輕松創(chuàng)立諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫等類型互動(dòng)容的多平臺(tái)的綜合型游戲開發(fā)工具,它建立在微軟新一代.net平臺(tái)構(gòu)架上,是一個(gè)全面整合交互強(qiáng)的專業(yè)游戲引擎。C#、javascript:是unity3d客戶端運(yùn)行的語(yǔ)言,用于提高系統(tǒng)與用戶的交互性。2可行性分析要求2.1技術(shù)可行性Unity3d游戲制作引擎運(yùn)用方式分別有單機(jī)獨(dú)立版和網(wǎng)絡(luò)版,本次課題使用的是單機(jī)獨(dú)立版。在使用unity3d格式轉(zhuǎn)換插件設(shè)置游戲的背景信息和動(dòng)作信息后就可以對(duì)游戲進(jìn)展導(dǎo)出。Unity3d格式轉(zhuǎn)換插件可以導(dǎo)出的可執(zhí)行文件為e*epc版格式,或apk

28、手機(jī)客戶端。在游戲的導(dǎo)出之時(shí)unity3d本身自帶有壓縮處理,一般來(lái)說(shuō)能將30M左右的文件轉(zhuǎn)換為4M左右。在網(wǎng)絡(luò)上也可以滿足傳輸需求,在本地端更是方便。在本款游戲的設(shè)計(jì)過(guò)程中本人也遇到過(guò)各種技術(shù)難題,但是經(jīng)過(guò)努力還是找到了一定的解決方法。其中最重要的技術(shù)歸納為畫面效果的設(shè)置、GUI功能和功能代碼上。2.2 經(jīng)濟(jì)可行性由于unity3d導(dǎo)出的文件在本地生成可執(zhí)行文件e*e,只要玩家拷貝一份游戲的運(yùn)行客戶端便可運(yùn)行;固不存在增加網(wǎng)絡(luò)本錢的問題,解決了網(wǎng)絡(luò)資源或費(fèi)用上的消耗,而基于unity3d引擎平臺(tái)的跨平臺(tái)性、互操作性強(qiáng),它可以支持windows 、vista、*p、win7等操作系統(tǒng)而其中最最

29、方便的是建模跟引擎的編程模塊在用游戲引擎開發(fā)時(shí),也比其他的游戲引擎更廉價(jià),這樣就能到達(dá)我們所追求的性價(jià)比、成效更高。2.3 操作可行性Unity3d 4.0本身自帶的模塊和控件使得其導(dǎo)出的e*e自帶有文件功能,就好比給你一個(gè)壓縮包,你解壓后便可安裝使用。并且能表達(dá)出它最人性化的一面,例如pc版本的操作上可以分辨率調(diào)試,此外在安卓手機(jī)上的apk文件需要適配器等功能,在管理上也像其他軟件一樣,即開即用不耗用存,而如果你本身想使用網(wǎng)絡(luò)端,也只需要去網(wǎng)絡(luò)上下載一個(gè)適用于你unity版本網(wǎng)頁(yè)插件并安裝它,便可到達(dá)你所需要的效果,并且這個(gè)網(wǎng)絡(luò)端插件可以適用*p、win7、vista。最后一方面是界面的風(fēng)格

30、上的設(shè)計(jì),本款游戲在界面上采用簡(jiǎn)單的button控件設(shè)置,使用戶清晰直觀、容易上手。2.4可操作的平臺(tái)如圖2-1到2-3圖2-1 蘋果系統(tǒng) 圖2-2 安卓系統(tǒng) 圖2-3 windows系統(tǒng)3游戲的方案設(shè)計(jì)3.1 游戲構(gòu)造方案設(shè)計(jì)游戲的背景是以輕松、休閑、娛樂為基調(diào),針對(duì)的是擁有空閑時(shí)間來(lái)緩解壓力、調(diào)整自我的工作人群而設(shè)計(jì)的二維趣味游戲。本次游戲設(shè)計(jì)了三個(gè)模式。分別為帶有適配器的e*e (pc版)、帶有分辨率控制的e*epc版、以及適合安卓系統(tǒng)的手機(jī)apk版本。運(yùn)用不同的版本使得用戶端在運(yùn)行游戲時(shí)可以呈現(xiàn)多種選擇。3.2游戲體系劃分構(gòu)造本次游戲主要?jiǎng)澐秩齻€(gè)局部:分別為1、系統(tǒng)入口 2、登入界面3

31、、關(guān)卡音效等三局部。(如表3-1,3-2所示)圖3-1 體系劃分圖 3-2 版本分塊3.3游戲的各功能劃分游戲的四大組成模塊:系統(tǒng)入口pc版、登入界面、背景音效、關(guān)卡設(shè)計(jì)。系統(tǒng)入口:圖像配置、屏幕分辨率設(shè)置、圖像的質(zhì)量、是否使用全屏。登入界面:gui界面,游戲窗口。音效背景:利用button控件對(duì)游戲的音效控制、背景導(dǎo)入。關(guān)卡設(shè)計(jì):隨機(jī)關(guān)卡、順序關(guān)卡、重玩關(guān)卡。3.4游戲總體預(yù)覽(如圖3-3)憤怒的小鳥圖像配置系統(tǒng)入口屏幕分辨率圖像質(zhì)量是否全屏登入界面音效背景游戲窗口Gui界面游戲中音效控制游戲前音效控置制圖片導(dǎo)入圖片美化順序關(guān)卡隨機(jī)關(guān)卡關(guān)卡設(shè)計(jì)重玩關(guān)卡圖3-3 總體構(gòu)造4詳細(xì)設(shè)計(jì)4.1 框架

32、流程見圖4-1憤怒的小鳥系統(tǒng)入口圖像配置、屏幕分辨率、圖像質(zhì)量、是否全屏登入界面音效背景關(guān)卡設(shè)計(jì)GUI界面、游戲進(jìn)入窗口背景圖片美化、背景圖片導(dǎo)入、音樂的導(dǎo)入、音樂的控制隨機(jī)關(guān)卡、順序關(guān)卡、重玩本關(guān)退出游戲 N Y N Y N Y N Y圖4-1 系統(tǒng)框架圖4.2 開場(chǎng)程序這邊以pc版本的游戲?yàn)槔涸陂_場(chǎng)游戲的時(shí)候我們可以對(duì)程序進(jìn)展配置,如屏幕的分辨率、圖像的質(zhì)量、是否全屏等,而圖像的質(zhì)量是對(duì)于一些材質(zhì)的問題,渲染的細(xì)節(jié)主要做這些搭配。如圖4-1,4-2所示圖4-2 分辨率設(shè)置 圖4-3 圖片質(zhì)量設(shè)置4.3登入界面當(dāng)用戶通過(guò)游戲的入口后,就會(huì)進(jìn)入本登入界面的關(guān)卡,這個(gè)界面主要運(yùn)用了button

33、控件的控制,建立了GUI設(shè)計(jì)代碼,使得用戶對(duì)本游戲有了直觀的認(rèn)識(shí)。如圖4-4所示 圖4-3 界面設(shè)置4.4音效背景在unity3d的游戲操作引擎平臺(tái)上,很突出的顯示了其制作游戲的集成性,在游戲apk文件或e*e文件之前,系統(tǒng)帶有自動(dòng)生成資源包的形式分配好每個(gè)模塊的音效與背景。如圖4-5,4-6所示圖4-5 音效設(shè)置圖4-6 游戲背景圖4.5關(guān)卡設(shè)計(jì)在我們的游戲啟動(dòng)界面上設(shè)計(jì)有兩個(gè)關(guān)卡選擇,分別順序關(guān)卡游戲和隨機(jī)關(guān)卡游戲,而在每個(gè)關(guān)卡完畢之后設(shè)置有兩個(gè)按鈕選擇分別為重玩本關(guān)和繼續(xù)下一關(guān);在游戲的過(guò)程中可以調(diào)整音效開關(guān),并且可以用w、s、a、d或上下左右方向鍵控制器小鳥的方向。當(dāng)你發(fā)現(xiàn)小鳥碰壁后就

34、會(huì)回到原點(diǎn),在挽救到被困小鳥的時(shí)候就會(huì)進(jìn)入下一個(gè)關(guān)卡。關(guān)卡如下列圖4-7至4-14圖4-7 第一關(guān) 圖4-8 第二關(guān) 圖4-9 第三關(guān) 圖4-10 第四關(guān) 圖4-11 第五關(guān) 圖4-12 第六關(guān) 圖4-13 第七關(guān) 圖4-14 下一關(guān)4.6適配器的設(shè)置適配器圖4-15的運(yùn)用是unity3d 3.5.5升級(jí)到unity3d 4.0的標(biāo)志,也是最根本的區(qū)別。適配器是為了所生成的apk文件運(yùn)用在手機(jī)上創(chuàng)立的虛擬按鈕用來(lái)代替pc版本下游戲的控制方向鍵。圖4-155 功能實(shí)現(xiàn)與代碼分析5.1登陸界面GUIusing UnityEngine;using System.Collections;public

35、class wele : MonoBehaviour public GameObject Level_1; public GameObject myLevel; / Use this for initializationvoid Start () / Update is called once per framevoid Update () void OnWeleClick(GameObject ClickBtn) int choose = Random.Range(0,6);/定義七個(gè)隨機(jī)可選關(guān)if(ClickB = start) /如果按下的按鍵是開場(chǎng)FUNCTION.Set

36、Active(this.gameObject,false);if(Level_1 = null)Debug.LogError(Level_1 is Null);Else /并且第一關(guān)不為空,進(jìn)入第一關(guān)FUNCTION.SetActive(Level_1,true); if (ClickB = ji*u)/如果按下的鍵是繼續(xù) FUNCTION.SetActive(this.gameObject, false); if (myLevelchoose = null) Debug.LogError(Level_+choose+ is Null); else/如果在關(guān)卡不為空的情況 FUN

37、CTION.SetActive(myLevelchoose, true);/選擇隨機(jī)關(guān)卡事件 5.2關(guān)卡設(shè)置控件using UnityEngine;using System.Collections;public classNe*t : MonoBehaviour public GameObject p_ne*t;public static GameObject CurrentLevel;/定義枚舉變量public static GameObject Ne*tLevel;public static GameObject ne*t;void Start () bird.FinshLevel = f

38、alse;ne*t = p_ne*t;/本關(guān)游戲通關(guān),進(jìn)入下一界面/ Update is called once per framevoid Update () void OnNe*tClick(GameObject ClickBtn)/判斷按鍵事件if(ClickB = ReturnPlay)/點(diǎn)擊了重玩按鈕if(CurrentLevel = null)/枚舉變量,判斷下一關(guān)是否為空Debug.LogError(CurrentLevel is null);/當(dāng)前關(guān)卡游戲物體為空?qǐng)?bào)錯(cuò)Else/不為空/Application.LoadLevel(bird);bird.FinshLe

39、vel = false;/設(shè)置當(dāng)前關(guān)卡完成標(biāo)志量為falseFUNCTION.SetActive(CurrentLevel ,true);/激活當(dāng)前關(guān)卡FUNCTION.SetActive(ne*t,false);/激死當(dāng)前界面else/否則點(diǎn)擊下一關(guān)按鈕if(Ne*tLevel = null)/判斷下一關(guān)卡游戲物體是否為空Debug.LogError(Ne*tLevel is null !);else/Application.LoadLevel(bird);FUNCTION.SetActive(Ne*tLevel,true);/激活下一關(guān)卡FUNCTION.SetActive(ne*t,fa

40、lse);/激死當(dāng)前界面5.3風(fēng)箏轉(zhuǎn)向控制using UnityEngine;using System.Collections;using System;public class level_3_zhuandong : MonoBehaviour public float speed;void Start () void Update () this.transform.Rotate(0.0f,0.0f,(speed*Time.deltaTime)*-1.0f);/定義旋轉(zhuǎn)變量public class testClass /定義一個(gè)測(cè)試類public float *;public float

41、y;/控制*y軸旋轉(zhuǎn)public Vector3 pos;5.4對(duì)小鳥碰撞后的Level_3.cs腳本控制using UnityEngine;using System.Collections;public class Level_3 : MonoBehaviour public Vector3 BirdPoint;protected GameObject m_Bird;public GameObject Ne*tlevel;void Start () ButtonMassage.Down = false;ButtonMassage.Up = false;ButtonMassage.Lefe =

42、 false;ButtonMassage.Right = false;Ne*t.CurrentLevel = this.gameObject;Ne*t.Ne*tLevel = Ne*tlevel;/枚舉函數(shù)GameObject bird_p = Resources.Load(Prefab/Bird) as GameObject;m_Bird = Instantiate(bird_p) as GameObject;/實(shí)例化小鳥m_Bird.transform.parent = this.transform.GetChild(0);/設(shè)置小鳥的父物體m_Bird.transform.localPo

43、sition = BirdPoint;/記錄小鳥初始位置m_Bird.transform.localEulerAngles = new Vector3(0.0f,0.0f,0.0f);/初始化角度m_Bird.transform.localScale = new Vector3 (1.0f,1.0f,1.0f);/初始化大小void Update ()if(bird.FinshLevel)FUNCTION.SetActive(this.gameObject,false);/當(dāng)碰撞到要救的小鳥后激死當(dāng)前關(guān)卡FUNCTION.SetActive(Ne*t.ne*t,true);/碰撞后挽救成功進(jìn)入

44、下一關(guān)或通關(guān)完畢elseif(m_Bird = null)/如果小鳥的游戲物體為空,以下代碼用來(lái)實(shí)例化小鳥游戲物體GameObject bird_p = Resources.Load(Prefab/Bird) as GameObject;m_Bird = Instantiate(bird_p) as GameObject;m_Bird.transform.parent = this.transform.GetChild(0);/.transform.GetChild(0).transformm_Bird.transform.localPosition = BirdPoint;/碰撞后加載本關(guān),

45、小鳥回到原點(diǎn)m_Bird.transform.localEulerAngles = new Vector3(0.0f,0.0f,0.0f);m_Bird.transform.localScale = new Vector3 (1.0f,1.0f,1.0f);/重新定位三維坐標(biāo)5.5 音效控制using UnityEngine;using System.Collections;public class Sound : MonoBehaviour bool music_conig = true;/初始為播放/ Use this for initializationvoid Start () if(

46、music_conig = true)/如果音效設(shè)置標(biāo)志量為真if(this.audio.isPlaying = false)/當(dāng)前沒在不放音樂this.audio.Play();/播放這個(gè)音效/ Update is called once per framevoid Update () if(music_conig = true)/如果音效設(shè)置標(biāo)志量為真if(this.audio.isPlaying = false) /當(dāng)前沒在播放音樂this.audio.Play();/播放這個(gè)音效else/否則if(this.audio.isPlaying = true) /當(dāng)前在播放音樂this.au

47、dio.Pause();/暫停播放/點(diǎn)擊音樂按鈕void OnMusicClick(GameObject Btn)if(music_conig = false)/當(dāng)前不在播放音樂music_conig = true;/把標(biāo)志量設(shè)置成正在播放Btn.transform.GetChild(0).gameObject.Getponent().spriteName = btn_music_on;/修改音樂圖標(biāo)圖片,播放提示else否則music_conig = false;/把標(biāo)志量設(shè)置成不在播放Btn.transform.GetChild(0).gameObject.Getponent().spri

48、teName = btn_music_off;/修改音樂圖標(biāo)圖片,關(guān)閉提示5.6 小鳥方向的控制using UnityEngine;using System.Collections;public class bird : MonoBehaviour public static bool FinshLevel = false;/是否完成了本次關(guān)卡標(biāo)志量protected Vector3 BirdPoint = new Vector3 (0.0f,0.0f,0.0f);/定義一個(gè)小鳥的初始三維值void Start () FinshLevel = false;/剛進(jìn)入本關(guān)設(shè)置完成標(biāo)志量為假Bird

49、Point = this.transform.localPosition;/記錄小鳥初始的位置void Update () if(Input.GetKey(up)|Input.GetKey(KeyCode.W)| ButtonMassage.Up = true)/判斷按鈕是否為上的方向鍵或w鍵this.transform.localPosition += new Vector3(0.0f,250.0f*Time.deltaTime,0.0f); /三維坐標(biāo)中定義Y軸為向上或向下,控制其向上行走速度,每幀+250像素if(Input.GetKey(down)|Input.GetKey(KeyCo

50、de.S)| ButtonMassage.Down = true)/判斷按鈕是否為下的方向鍵或s鍵this.transform.localPosition -= new Vector3(0.0f,250.0f*Time.deltaTime,0.0f);/三維坐標(biāo)中定義y軸向上或向下,控制其向下行走速度,每幀+250像素if(Input.GetKey(left)|Input.GetKey(KeyCode.A)| ButtonMassage.Lefe = true)/判斷按鈕是否為左的方向鍵或a鍵this.transform.localPosition -= new Vector3(250.0f*

51、Time.deltaTime,0.0f,0.0f); /三維坐標(biāo)中定義*軸向左或向右,控制其向左行走速度,每幀+250像素if(Input.GetKey(right)|Input.GetKey(KeyCode.D)| ButtonMassage.Right = true)/判斷按鈕是否為右的方向鍵或d鍵this.transform.localPosition += new Vector3(250.0f*Time.deltaTime,0.0f,0.0f);/三維坐標(biāo)中定義*軸向左或向右,控制其向右行走速度,每幀+250像素void OnTriggerEnter(Collider other) /

52、發(fā)生碰撞時(shí)執(zhí)行的函數(shù)if( = BirdHelp)/如果碰到的是需要挽救的小鳥Destroy(this.gameObject);/刪除小鳥這個(gè)游戲物體FinshLevel = true;/闖關(guān)成功完本錢關(guān)卡的標(biāo)志設(shè)置為真FUNCTION.SetActive(Ne*t.CurrentLevel, false);/激死當(dāng)前關(guān)卡/Application.LoadLevel(ne*t);/激活選擇下一關(guān)或者重玩的else/否則碰到的物體是其他的this.transform.localPosition = BirdPoint;/否則的話回到原始點(diǎn)5.7 ButtonMassage.csusing UnityEngine;using System.Collections;public class ButtonMassage : MonoBehaviour public static bool Up = false;public static bool Down = false;public static bool Lefe = false;public static bool Right = false;void OnBirdButonPress(GameObject PressBtn)/Debug.Log(sssssssssssss

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論