基于unity游戲制作的論文--lhj_第1頁(yè)
基于unity游戲制作的論文--lhj_第2頁(yè)
基于unity游戲制作的論文--lhj_第3頁(yè)
基于unity游戲制作的論文--lhj_第4頁(yè)
基于unity游戲制作的論文--lhj_第5頁(yè)
已閱讀5頁(yè),還剩38頁(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、福建農(nóng)林丈修京方修院dongfang college, fujian agriculture and forestry university瘁科草處論夂論文題目:基于unity3d的游戲制作與展示qq346977633系別:計(jì)算機(jī)系年級(jí)專業(yè):ox級(jí)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)號(hào):0x50303029姓名:鄭xx指導(dǎo)教師:林xx職稱:教授2013 年04 月23 日game design and display based on unity3ddepartment:major and grade:number:name:advisor:departmetn of computer sciencecompu

2、ter science and technology0950303029zhengziweiprofessor lin hongjidate:may, 2013福建農(nóng)林大學(xué)東方學(xué)院本科畢業(yè)設(shè)計(jì)(論文)作者承諾保證書(shū)木人鄭重承諾:木篇畢業(yè)設(shè)計(jì)(論文)的內(nèi)容真實(shí)、可靠。如果存在弄 虛作假、抄襲的情況,木人愿承擔(dān)全部責(zé)任。學(xué)生簽名:年 月 日福建農(nóng)林大學(xué)東方學(xué)院本科畢業(yè)設(shè)計(jì)(論文)指導(dǎo)教師承諾保證書(shū)本人鄭重承諾:我已按有關(guān)規(guī)定對(duì)本篇畢業(yè)設(shè)計(jì)(論文)的選題與內(nèi)容進(jìn)行了指導(dǎo)和審核,該同學(xué)的畢業(yè)設(shè)計(jì)(論文)中未發(fā)現(xiàn)弄虛作假的現(xiàn)象, 木人愿承擔(dān)指導(dǎo)教師的相關(guān)責(zé)任。指導(dǎo)教師簽名:目錄abstract- 2 -

3、1.1本課題的研究背景-1-1.2本課題的研究意義-2-1.3國(guó)內(nèi)外研究現(xiàn)狀-2-1.4 unity3d游戲引擎平臺(tái)的特點(diǎn)-3-1.5其他游戲引擎平臺(tái)-4-1.6開(kāi)發(fā)工具-5-2可行性分析要求-5 -2.1技術(shù)可行性-6-2.2經(jīng)濟(jì)可行性-6-2.3操作可行性-6-2. 4可操作的平臺(tái)-7 -3游戲的方案設(shè)計(jì)-7-3.1游戲結(jié)構(gòu)方案設(shè)計(jì)-7-3. 2游戲體系劃分結(jié)構(gòu)-7-3. 3游戲的各功能劃分-8-3. 4游戲總體預(yù)覽-9-4 i羊纟田設(shè)計(jì)-104.1框架流程-10-4.2開(kāi)始程序11 -4. 3登入界面-11-4. 4咅效背景-12-4. 5關(guān)卡設(shè)計(jì)-13-4. 6適配器的設(shè)置-14-5功

4、能實(shí)現(xiàn)與代碼分析-14-5.1登陸界面gui- 15 -5. 2關(guān)卡設(shè)置控件-16 -5. 3風(fēng)箏轉(zhuǎn)向控制-18-5.4對(duì)小鳥(niǎo)碰撞后的level_3. cs腳本控制195.5 音效控制-20-5.6小鳥(niǎo)方向的控制-22 -5. 7 but ton massage cs- 25 結(jié)束語(yǔ)-28 -參考文獻(xiàn)-29 -致謝-30-摘要隨著數(shù)字化、科技化的信息技術(shù)發(fā)展,城市人們的生活節(jié)奏也大大加快;通過(guò)認(rèn)識(shí) unity3d的游戲制作引擎,對(duì)于社會(huì)上的兩大主流手機(jī)市場(chǎng)安卓與蘋(píng)果,從而設(shè)計(jì)的一 款以輕松,休閑為基調(diào)的游戲,來(lái)緩解人們?cè)诠ぷ魃系钠冢蜃屝蓍e之時(shí)得到一絲娛 樂(lè)。unity3d是一種游戲?qū)I(yè)的開(kāi)

5、發(fā)工具,根據(jù)物理碰撞,粒子系統(tǒng)等技術(shù),組建了以 windows> andorid> ios等為平臺(tái)的游戲。并且對(duì)于個(gè)體的開(kāi)發(fā)者來(lái)說(shuō)是具有創(chuàng)造力的, 它可以在一邊測(cè)試的過(guò)程屮一邊試玩。對(duì)于unity,人們不可能只是暫時(shí)的有想法,在 其運(yùn)行過(guò)程中都可以讓開(kāi)發(fā)者挖掘到樂(lè)趣、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)行不同的體驗(yàn)的問(wèn)題。本次畢業(yè)設(shè)計(jì)的題目為基于unity3d的游戲制作與展示,旨在成功的設(shè)計(jì)出一 款可以運(yùn)行

6、在智能手機(jī)和各類電腦上的休閑、娛樂(lè)游戲,在畢業(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 c讓y greatly accelerated; through the a unity3d understanding

7、of the game production engine, two mainstream mobile phone market, android and apple to design a relaxed, 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 development tools is a game, physical collisions, pa

8、rticle 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 course of its operation, allows developers to tap

9、 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 problem can be a different experience on the phon

10、e, web, pc and mobile platforms.the graduation project entitled munity3d-based game production and presentation aimed at the successful design of a can run on smart phones and various types of computer leisure, entertainment, games, graduation design is completed by a platform, in different ways exp

11、erience. the game contains 7, from easy to difficult.provides a relaxed, relaxing way to ease the work pressure of the working people.keywords: unity3d; games; android1引言u(píng)nity3d是一個(gè)全面整合而來(lái)的專業(yè)游戲引擎,它支持多個(gè)平臺(tái),并且在市場(chǎng)上有 百分之十的占有率,他是一個(gè)綜合性的游戲開(kāi)發(fā)工具。unity3d可以支持的平臺(tái)有 window> iphone和android平臺(tái)。也可以利用unity web player網(wǎng)

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

13、更是支持安卓系統(tǒng),在不久 的將來(lái)更加易于推廣。本課題的研究背景?;钪?,工作里,空閑時(shí)人們都需要得到一點(diǎn)放松,休閑。木款趣味游戲給人們帶 來(lái)一種娛樂(lè)方式,游戲中包含了許多闖關(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ì)12本課題的研究意義木次游戲設(shè)計(jì)的出發(fā)點(diǎn)是在于趣味、休閑、放松;針對(duì)于一些上班族,在工作疲乏 期間可以通過(guò)適當(dāng)玩玩游戲來(lái)調(diào)整自己,從而設(shè)計(jì)岀的一款單機(jī)趣味游戲。在游戲設(shè)計(jì) 過(guò)程屮加入極具放松的背景音樂(lè),加上

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

15、德國(guó)更是取得了一定的成果。瑞典的dive分布式虛擬交換環(huán)境更是 基于unix的在同一世界不同節(jié)點(diǎn)多進(jìn)程上工作的異質(zhì)分布式系統(tǒng)。據(jù)我所知unity在?;顟?yīng)用可分為四類:一是非可視化信息轉(zhuǎn)為可視化信息,例如: 用于產(chǎn)品的設(shè)計(jì)、降低成本和開(kāi)發(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è)備投入使用z前可以模擬 工廠來(lái)提高工人的操作水平;四是游戲的開(kāi)發(fā),目前能牛成apk文件的游戲引擎平臺(tái)不 多,能同時(shí)生成exe的pc客戶端跟apk文件的游戲引擎平臺(tái)更是少之又少。而在我國(guó) u3d開(kāi)發(fā)的智1能手機(jī)游戲比較多,境之邊緣,榮譽(yù)勛章空降兵,生化奇兵,虛擬競(jìng)

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

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

18、ia®physx®物理引擎帶給你?;畹幕?dòng)。昔頻和視頻實(shí)時(shí)三維圖形混合音頻流、視頻流。光影unity提供了具有柔和陰影與烘焙lightmaps的高度完善的光影渲染系統(tǒng)。腳本支持unity 支持 3 種腳木語(yǔ)言:javascript, c#, boo。unity資源服務(wù)器unity資源服務(wù)器是一個(gè)附加的包括版本控制的產(chǎn)品。文檔unity為你提供逐步的指導(dǎo)、文檔和實(shí)例方案。正是以上這些特點(diǎn),使得unity在開(kāi)發(fā)的過(guò)程中越來(lái)越受到人們的親睞。5其他游戲引擎平臺(tái)unreal主要特點(diǎn):1、擁有優(yōu)秀的編輯工具,強(qiáng)大的渲染引擎支持多線程。2、擁有高級(jí)動(dòng)畫(huà)系統(tǒng),強(qiáng)大的腳本支撐。

19、3、模擬物理系統(tǒng),真實(shí)的光影效果。4、具有優(yōu)秀的地形渲染效果,支持多層材質(zhì)混合,真實(shí)的侵蝕和風(fēng)化效果,超炫 的游戲中的電影效果。但其不足之處在于:只支持windows xp系統(tǒng)。gamebryo的主要特點(diǎn):1、提供開(kāi)發(fā)式平臺(tái),并且支持游戲所需的資源導(dǎo)出插件。2、提供操作者三個(gè)主要工具分別是資源觀察器(assetviewer)、動(dòng)畫(huà)工具 (animation tool)和場(chǎng)景編輯器(scene designer)o主要的技術(shù)支持有場(chǎng)景圖結(jié)構(gòu)(scene graph)渲染系統(tǒng)(freime rendering)材 質(zhì)系統(tǒng)(material/shader/texture)多線程管理系統(tǒng)(floodg

20、ate)、幾何模型系統(tǒng) (nimesh)、動(dòng)畫(huà)系統(tǒng)(animation)、物理系統(tǒng)(physics)。但其不足之處在于:游戲引擎價(jià)格偏高,適用于公司團(tuán)隊(duì),不適合個(gè)人開(kāi)發(fā)。bigworld的主要特點(diǎn):1、低風(fēng)險(xiǎn)、低投資集成度高。2、多進(jìn)程,腳木使用方便,server間的跨進(jìn)程通訊被隱藏性好。3、使用c+開(kāi)發(fā)的,使用的服務(wù)器是linux,只支持redhat,而且核心代碼,即 動(dòng)態(tài)均衡負(fù)載代碼是不提供源碼的。4、不是針對(duì)地圖為單元,將地圖為單元分擔(dān)到獨(dú)立進(jìn)程中去管理的。但其不足之處在于:隱藏細(xì)節(jié)多造成修改上的難度大有局限性,支持的平臺(tái)不是很 多。ogre的主要特點(diǎn):1、全面支持windows, li

21、nux以及mac os x平臺(tái)。2、構(gòu)架簡(jiǎn)單支持自動(dòng)渲染與剪裁。3、支持多種圖片格式以及多種著色語(yǔ)言。4、物理系統(tǒng)強(qiáng)大光影效果突出。5、支持的高級(jí)插件較多。6、免費(fèi)產(chǎn)品更受個(gè)體開(kāi)發(fā)用戶追捧。但其不足z處在于:適合pc端網(wǎng)游,支持的平臺(tái)不多,手機(jī)網(wǎng)游上欠缺。1.6開(kāi)發(fā)工具本單元就先簡(jiǎn)單介紹下此款游戲開(kāi)發(fā)所用的語(yǔ)言、技術(shù)或工具,對(duì)于它們的詳細(xì)定 義就不多做解釋。visual studio 2008:微軟公司推出的開(kāi)發(fā)環(huán)境,負(fù)責(zé)本次游戲的邏輯開(kāi)發(fā)。photoshop: adobe photoshop,簡(jiǎn)稱"ps”,是一個(gè)由 adobe systems 開(kāi)發(fā)和發(fā)行 的圖像處理軟件。photo

22、shop主要處理以像素所構(gòu)成的數(shù)字圖像。使用其眾多的編修與 繪圖工具,可以更有效的進(jìn)行圖片編輯工作。unity3d: unity3d是由unity technologies開(kāi)發(fā)的一個(gè)讓玩家輕松創(chuàng)建諸如三維 視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫(huà)等類型互動(dòng)內(nèi)容的多平臺(tái)的綜合型游戲開(kāi)發(fā)工具, 它建立在微軟新一代net平臺(tái)構(gòu)架上,是一個(gè)全面整合交互強(qiáng)的專業(yè)游戲引擎。c#、javascript:是unity3d客戶端運(yùn)行的語(yǔ)言,用于提高系統(tǒng)與用戶的交互性。2可行性分析要求2. 1技術(shù)可行性u(píng)nity3d游戲制作引擎運(yùn)用方式分別有單機(jī)獨(dú)立版和網(wǎng)絡(luò)版,本次課題使用的是單 機(jī)獨(dú)立版。在使用unity3d格式轉(zhuǎn)換

23、插件設(shè)置游戲的背景信息和動(dòng)作信息后就可以對(duì)游 戲進(jìn)行導(dǎo)出。unity3d格式轉(zhuǎn)換插件可以導(dǎo)出的可執(zhí)行文件為exe (pc版格式),或apk (手機(jī)客戶端)。在游戲的導(dǎo)出z時(shí)unity3d本身自帶有壓縮處理,一般來(lái)說(shuō)能將30m 左右的文件轉(zhuǎn)換為4m左右。在網(wǎng)絡(luò)上也可以滿足傳輸需求,在木地端更是方便。在木 款游戲的設(shè)計(jì)過(guò)程中本人也遇到過(guò)各種技術(shù)難題,但是經(jīng)過(guò)努力還是找到了一定的解決 辦法。其中最垂要的技術(shù)歸納為畫(huà)面效果的設(shè)置、gut功能和功能代碼上。2. 2經(jīng)濟(jì)可行性由于unity3d導(dǎo)出的文件在本地生成可執(zhí)行文件exo,只要玩家拷貝一份游戲的運(yùn) 行客戶端便可運(yùn)行;固不存在增加網(wǎng)絡(luò)成木的問(wèn)題,解決

24、了網(wǎng)絡(luò)資源或費(fèi)用上的消耗, 而基t* unity3d引擎平臺(tái)的跨平臺(tái)性、互操作性強(qiáng),它可以支持windows、vista、xp> win7等操作系統(tǒng)而其屮最最方便的是建模跟引擎的編程模塊在用游戲引擎開(kāi)發(fā)時(shí),也 比其他的游戲引擎更廉價(jià),這樣就能達(dá)到我們所追求的性價(jià)比、功效更高。2. 3操作可行性u(píng)nity3d 4.0木身自帶的模塊和控件使得其導(dǎo)出的exe自帶有文件功能,就好比給 你一個(gè)壓縮包,你解壓后便可安裝使用。并且能體現(xiàn)岀它最人性化的一面,例如pc版 本的操作上可以分辨率調(diào)試,此外在安卓手機(jī)上的apk文件需要適配器等功能,在管理 上也像其他軟件一樣,即開(kāi)即用不耗用內(nèi)存,而如果你木身想使

25、用網(wǎng)絡(luò)端,也只需要去 網(wǎng)絡(luò)上下載一個(gè)適用于你unity版本網(wǎng)頁(yè)插件并安裝它,便可達(dá)到你所需耍的效果,并 且這個(gè)網(wǎng)絡(luò)端插件可以適用xp> win7> vista。最后一方面是界面的風(fēng)格上的設(shè)計(jì),本 款游戲在界面上采用簡(jiǎn)單的button控件設(shè)置,使用戶清晰直觀、容易上手。2.4可操作的平臺(tái)(如圖2-1到2-3)圖2-1蘋(píng)果系統(tǒng)圖2-2安卓系統(tǒng)圖 2-3 windows 系統(tǒng)3游戲的方案設(shè)計(jì)3.1游戲結(jié)構(gòu)方案設(shè)計(jì)游戲的背景是以輕松、休閑、娛樂(lè)為基調(diào),針對(duì)的是擁有空閑時(shí)間來(lái)緩解壓力、調(diào) 整自我的工作人群而設(shè)計(jì)的二維趣味游戲。本次游戲設(shè)計(jì)了三個(gè)模式。分別為帶有適配 器的exe (pc版)、帶

26、有分辨率控制的exe (pc版)、以及適合安卓系統(tǒng)的手機(jī)apk版本。 運(yùn)用不同的版木使得用戶端在運(yùn)行游戲時(shí)可以呈現(xiàn)多種選擇。3. 2游戲體系劃分結(jié)構(gòu)木次游戲主要?jiǎng)澐秩齻€(gè)部分:分別為1、系統(tǒng)入口 2、登入界面3、關(guān)卡音效等三 部分。(如表3-1, 3-2所示)系統(tǒng)入口游戲體系登入界面關(guān)卡設(shè)計(jì)圖3-1 體系劃分針對(duì)pc機(jī)版 本(簡(jiǎn)稱pc 版)版本劃分pc機(jī)與智能 手機(jī)通用版 本(簡(jiǎn)稱通 用版)圖3-2版本分塊3. 3游戲的各功能劃分游戲的四大組成模塊:系統(tǒng)入口(pc版)、登入界面、背景音效、關(guān)卡設(shè)計(jì)。 系統(tǒng)入口:圖像配置、屏幕分辨率設(shè)置、圖像的質(zhì)量、是否使用全屏。登入界面:gui界面,游戲窗口。咅

27、效背景:利用button控件對(duì)游戲的咅效控制、背景導(dǎo)入。關(guān)卡設(shè)計(jì):隨機(jī)關(guān)卡、順序關(guān)卡、重玩關(guān)卡。3. 4游戲總體預(yù)覽(如圖3-3)圖3-3總體結(jié)構(gòu)4詳細(xì)設(shè)計(jì)4.1框架流程(見(jiàn)圖4t)圖4-1系統(tǒng)框架圖4. 2開(kāi)始程序這邊以pc版本的游戲?yàn)槔涸陂_(kāi)始游戲的時(shí)候我們可以對(duì)程序進(jìn)行配置,如屏幕 的分辨率、圖像的質(zhì)量、是否全屏等,而圖像的質(zhì)量是對(duì)于一些材質(zhì)的問(wèn)題,渲染的細(xì)節(jié)主要做這些搭配。(如圖4-1, 4-2所示)nguio72o configurationngui0720 configuration/wwxfcxwedsaeen resoiubon640x480 720x480 800x480 8

28、00 x 600 1024 x 600 1024 x 758controlprwnarysecondarygractics quaity1280 x 720horizontal (-) verttcal (+) verttcal (-) firelare2leftup dow left ctrl “altleft mouse right mouseooub*e<kk an entry to change it圖4-2分辨率設(shè)置圖4-3圖片質(zhì)量設(shè)置4. 3登入界面當(dāng)用戶通過(guò)游戲的入口后,就會(huì)進(jìn)入本登入界面的關(guān)卡,這個(gè)界面主要運(yùn)用了button控件的控制,建立了 gui設(shè)計(jì)代碼,使得用戶對(duì)本

29、游戲有了直觀的認(rèn)識(shí)。(如圖4-4所示)圖4-3界面設(shè)置4.4音效背景在unity3d的游戲操作引擎平臺(tái)上,很突出的顯示了其制作游戲的集成性,在游戲 apk文件或exe文件之前,系統(tǒng)帶有自動(dòng)牛成資源包的形式分配好每個(gè)模塊的音效與背 景。(如圖4-5, 4-6所示)- projectcreate w favoritesassets » bird tex-a assets帀 birdgbirdqbird 22 bird 3e|bird_help «btn musicmmoffmaker script texturelajen ngui 0 inspector 三bg import

30、 settles q-. :sound聲4 texture& levelllevel level_: level maker4 script©btn_music_on |llevel_l_bg levem level >load typecompressed ncompression odds;鼻 156nevi file size : 9 9 mb next welcorob w ioimported object»ngui public- resources prefab x scene bgfailed to loadbg.imbg.meditorwin

31、do穴 could not be loaded because the script is not found in the projecti not be leaded is 昭 found r thepreview圖4-5音效設(shè)置2.png3.png圖4-6游戲背景圖4. 5關(guān)卡設(shè)計(jì)在我們的游戲啟動(dòng)界面上設(shè)計(jì)有兩個(gè)關(guān)卡選擇,分別順序關(guān)卡游戲和隨機(jī)關(guān)卡游 戲,而在每個(gè)關(guān)卡結(jié)束之后設(shè)置有兩個(gè)按鈕選擇分別為重玩本關(guān)和繼續(xù)下一關(guān);在游戲 的過(guò)程中可以調(diào)整音效開(kāi)關(guān),并且可以用“w”、“s”、“a”、“d”或上下左右方向鍵控制器小鳥(niǎo)的方向。當(dāng)你發(fā)現(xiàn)小鳥(niǎo)碰壁后就會(huì)回到原點(diǎn),在解救到被困小鳥(niǎo)的時(shí)候就會(huì)進(jìn)入

32、f個(gè)關(guān)卡。(關(guān)卡如下圖4-7至4t4)圖4-7第一關(guān)圖4-9笫三關(guān)1圖4-10笫四關(guān)nua圖4-11第五關(guān)圖4-12第六關(guān)69go4. 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 class welcome : monobehaviourpublic gameobject

33、 level_l;public gameobjectf mylevel;/ use this for initializationvoid start ()/ update is called once per framevoid update ()void onwelcomeclick(gameobject clickbtn)int choose = random.range(0,6);/ 定義七個(gè)隨機(jī)可選關(guān) if(clickb = ”sum”)/如果按下的按鍵是開(kāi)始 function.setactive(this.gameobject,false);if(level_l =

34、null)debug.logerror("levelis null");else /并且第一關(guān)不為空,進(jìn)入第一關(guān) function.setactive(level_l,true);if (clickb = njixun)/如果按下的鍵是繼續(xù)function>setactive(this.gameobject, false);if (mylevel choose = null)debug.logerror("level_n+choose+" is null");else/如果在關(guān)卡不為空的情況function.setactiv

35、e(mylevelchoose, true);/選擇隨機(jī)關(guān)卡事件5. 2關(guān)卡設(shè)置控件using unityengine;using system.collections;public class next: monobehaviourpublic gameobject p_next;public static gameobject currentlevel;/定義枚舉變量public static gameobject nextlevel;public static gameobject next;void start ()bird.finshlevel = false;next = p_ne

36、xt; 本關(guān)游戲通關(guān),進(jìn)入下一界面/ update is called once per framevoid update ()void onnextclick(gameobject clickbtn)/判斷按鍵事件if(clickb = "retumplay") /點(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

37、");bird.finshlevel = false;/設(shè)置當(dāng)前關(guān)卡完成標(biāo)志量為falsefunction.setactive(currentlevel ,true);/激活當(dāng)前關(guān)卡 function.setactive(next,false); /激死當(dāng)前界面else/否則點(diǎn)擊下一關(guān)按鈕if(nextlevel = null)/判斷下一關(guān)卡游戲物體是否為空debug.logerror("nextlevel is null !n);else/application.loadlevel(ubirdn);function.setactive(nextlevel,true);/激

38、活下一關(guān)卡function.setactive(next,false);/ 激死當(dāng)前界面5. 3風(fēng)箏轉(zhuǎn)向控制using unityengine;using system.collections;using system;public class level_3_zhuandong : monobehaviourpublic float speed;void start ()void update ()this.transform.rotate(o.of,o.of,(speed*time.deltatime)*-1 .of);/ 定義旋轉(zhuǎn)變量public class testclass 定義一個(gè)

39、測(cè)試類public float x;public float y;控制 xy 軸旋轉(zhuǎn)public vector3 pos;5. 4對(duì)小鳥(niǎo)碰撞后的level_3. cs腳本控制using unityengine;using system.collections;public class level_3 : monobehaviourpublic vector3 birdpoint;protected gameobject m_bird;public gameobject nextlevel;void start ()buttonmassage<down = false;buttonmass

40、age.up = false;b uttonmassage.lefe = false;b uttonmassage.right = false;next.currentlevel = this.gameobject;next.nextlevel = nextlevel;/ 枚舉函數(shù)gameobject bird_p = resources.load(nprefab/birdh) as gameobject; m_bird = instantiate(bird_p) as gameobject;實(shí)例化小鳥(niǎo) m_bird.transform.parent = this.transform.getc

41、hild(o);/ 設(shè)置小鳥(niǎo)的父物體 m_bird.transform.localposition = birdpoint;/ 記錄小鳥(niǎo)初始位置 m_bird.transform.localeulerangles = new vector3(0.0f,0.0f,0.0f);/初始化角度m_bird.transform.localscale = new vector3 (l.of,l.of,l.of); 初始化大小void update ()if(bird.finshlevel)function.setactive(this.gameobject,false);/ 當(dāng)碰撞到要救的小鳥(niǎo)后激死當(dāng)前關(guān)

42、卡function.setactive(next.next,true);/碰撞后解救成功進(jìn)入下一關(guān)或通關(guān)結(jié)束elseif(m_bird = null)如果小鳥(niǎo)的游戲物體為空,以下代碼用來(lái)實(shí)例化小鳥(niǎo)游戲物體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).tran

43、sformm_bird.transform.localposition = birdpoint;/碰撞后加載本關(guān),小鳥(niǎo) 回到原點(diǎn)m_bird.transform.localeulerangles = new vector3(0.0f,0.0f,0.0f);m_bird.transform.localscale = new vector3 (l.of,l.of,l.of);重新定位三維坐標(biāo)5.5音效控制using unityengine;using system.collections;public class sound : monobehaviour bool music.conig = t

44、rue;/初始為播放/ use this for initializationvoid start ()if(music_conig = true)/如果音效設(shè)置標(biāo)志量為真if(this.audio.isplaying = false)/ 當(dāng)前沒(méi)在不放音樂(lè)this.audio.playo;/ 播放這個(gè)咅效)/ update is called once per framevoid update ()if(music_conig = true)/如果音效設(shè)置標(biāo)志量為真if(this.audio.isplaying = false) /當(dāng)前沒(méi)在播放音樂(lè)this.audio.play();/ 播放這

45、個(gè)音效)else/否則 if(this.audio.ispiaying = true) /當(dāng)前在播放咅樂(lè)this.audio.pause();/ 暫停播放點(diǎn)擊甘樂(lè)按鈕void onmusicclick(gameobject btn)if(music_conig = false)/當(dāng)前不在播放音樂(lè)music_conig = true;/把標(biāo)志量設(shè)置成止在播放btn.transform.getchild(0).gameobject.getcomponent<uisprite>().spritename =hbtn_music_onn;/修改音樂(lè)圖標(biāo)圖片,播放提示else否則music_

46、conig = false;/把標(biāo)志量設(shè)置成不在播放btn.transform.getchild(0).gameobject.getcomponent<uisprite>().spritename ="btn_music_off,;/修改音樂(lè)圖標(biāo)圖片,關(guān)閉提示5.6小鳥(niǎo)方向的控制using unityengine;using system.collections;public class bird : monobehaviourpublic static bool finshlevel = false;/是否完成了本次關(guān)卡標(biāo)志量protected vector3 bird

47、point = new vector3 (o.of,o.of,o.of);/定義一個(gè)小鳥(niǎo)的初始 三維值void start ()finshlevel = false;/剛進(jìn)入本關(guān)設(shè)置完成標(biāo)志量為假birdpoint = this.transform.localposition;/ 記錄小鳥(niǎo)初始的位置void update ()if(input.getkey(',uph)|input.getkey(keycode.w)| buttonmassage.up = true)/判斷按鈕是否為上的方向鍵或w鍵this.transformo calposition += new vector3(0

48、.0f,250.0f*time.deltatime,0.0f); 三維坐標(biāo)屮定義y軸為向上或向下,控制其 向上行走速度,每幀+250像素if(input.getkey("down")|input.getkey(keycode.s)| buttonmassage.down = true)/判斷按鈕是否為下的方向鍵或s鍵this.transformocalposition 二 newvector3(0.0f,250.0f*time.deltatime,0.0f);/三維坐標(biāo)中定義y軸向上或向下,控制其向下 行走速度,每幀+250像素if(input.getkey("l

49、eftm)|input.getkey(keycode.a)| buttonmassage.lefe =true)/判斷按鈕是否為左的方向鍵或a鍵this.transform.localposition -= newvector3(250.0f*time.deltatime,0.0f,0.0f);/三維坐標(biāo)中定義x軸向左或向右,控制其向左行走速度,每幀+250像素if(input.getkey(hrightn)|input.getkey(keycode.d)| buttonmassage.right =true)/判斷按鈕是否為右的方向鍵或d鍵this.transform.localpositi

50、on + 二 newvector3(250.0f*time.deltatime,0.0f,0.0d;/三維坐標(biāo)中定義x軸向左或向右,控制其向右 行走速度,每幀+250像素void ontriggerenter(collider other) /發(fā)生碰撞吋執(zhí)行的函數(shù)if( = "birdhelp")/如果碰到的是需要解救的小鳥(niǎo)destroy(this.gameobject);/刪除小鳥(niǎo)這個(gè)游戲物體finshlevel = true;/闖關(guān)成功完成本關(guān)卡的標(biāo)志設(shè)置為真function.setactive(next.currentlevel, false);/

51、激死當(dāng)前關(guān)卡/application.loadlevel("next");/激活選擇下一關(guān)或者重玩的else/否則碰到的物體是其他的this.transform .localposition = birdpoint;/ 否則的話回到原始點(diǎn)5. 7 buttonmassage.csusing unityengine;using system.collections;public class buttonmassage : monobehaviourpublic static bool up = false;public static bool down = false;pub

52、lic static bool lefe = false;public static bool right = false;void onbirdbutonpress(gameobject pressbtn) /debug.log(hsssssssssssssssssssssssssssn);if(pressb = "up")up = true;if(pressb = "down”)down = true;if(pressb = "left”)lefe = true;if(pressb = "right")right =

溫馨提示

  • 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ù)網(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)論