基于unity3d的休閑游戲TOP的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于unity3d的休閑游戲TOP的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于unity3d的休閑游戲TOP的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于unity3d的休閑游戲TOP的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于unity3d的休閑游戲TOP的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(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)介

摘要模擬經(jīng)營(yíng)游戲是模擬游戲的一種。而模擬經(jīng)營(yíng)游戲就是由玩家去充當(dāng)特定的角色,在這個(gè)虛擬的游戲世界進(jìn)行自我發(fā)揮的經(jīng)營(yíng)。這個(gè)游戲世界可以是團(tuán)體、公司、城市、國(guó)家、甚至是整個(gè)世界。模擬經(jīng)營(yíng)類的游戲游戲通常都會(huì)仿照現(xiàn)實(shí)中的模式,游戲的玩法跟人物的模型想法等都可以按照自己的需求定制或隨機(jī)定制。一般來(lái)說(shuō),常見(jiàn)的模擬經(jīng)營(yíng)游戲的游戲主題無(wú)非是收集游戲資源,最后實(shí)現(xiàn)一家獨(dú)大的成就;或者發(fā)展到一定程度(例如大富翁玩家資產(chǎn)處于第一位或遙遙領(lǐng)先)。模擬經(jīng)營(yíng)游戲最核心的是游戲玩法。值得一提的是模擬經(jīng)營(yíng)的游戲玩法越新穎,其受眾用戶群體越大,吸引的玩家也越多。一款出色的游戲想要被大眾所接納與喜愛(ài),其本身就必須擁有閃光點(diǎn),而這就要跟游戲的理念所掛勾。。模擬經(jīng)營(yíng)游戲也包括僅能離線(Offline)進(jìn)行的類型,這是脫離線上玩家條件下的單機(jī)模擬經(jīng)營(yíng),玩家需達(dá)到最后的游戲目標(biāo),運(yùn)用自身或游戲內(nèi)各種能力來(lái)獲取勝利。模擬經(jīng)營(yíng)游戲跟角色扮演游戲不一樣,并不是非常注重游戲中的劇情故事、以及游戲中人物的塑造;相同的是都直接模擬出游戲中所描繪的虛擬世界。餐廳模擬游戲便是其中的分支,玩家利用先用的資源通過(guò)自身的能力去塑造出無(wú)限的可能,玩家能在游戲中體驗(yàn)創(chuàng)業(yè)的樂(lè)趣,享受擔(dān)任港式茶餐廳boss所帶來(lái)前所未有的體驗(yàn)。關(guān)鍵詞:Unity3D模擬游戲餐廳模擬

AbstractThesimulationmanagementgameisakindofsimulationgame.Playersplaytheroleofmanagerstomanagethevirtualrealworldinthegame.Itcanbeacity,acountry,aworld,acompany,oranothergroup.Virtualbusinessgamesgenerallysimulatereal-worldmodels,andthecharacters’ideasarerandomlycustomizedaccordingtorules.Manysimulationbusinessgamesendwiththeword"Tycoon".Thegoalofcommongamesistocompletelycontrolallresourcesthatcanbecontrolledinthegameandachievemonopoly;ortoacertainextent(forexample,enoughtechnologytoleadcitizensoutoftheearth).Thecoreofthesimulationmanagementgameisgameplay.Ingameplay,playersplayorcontrolacharacterinarealisticorfictionalworld.Theplayerisresponsibleforplayingthisroleanddevelopingtheroleplayedbysomeactionsunderastructuredrule.Theplayer'ssuccessandfailureinthisprocessdependsonaformalsystemofrulesorguidelines.

Simulatedbusinessgamesalsoincludetypesthatcanonlybeplayedoffline(offline).Playerscontrolapersonorateamtocompletethegamegoals,andusevariousabilitiestoachievevictory.Thesimulationmanagementgameisdifferentfromtherole-playinggame.Itdoesnotpaymuchattentiontothestoryinthegame,thesceneryofthevirtualworld,andtheshapingofthecharactersplayed;thesameisthattheydirectlysimulatethevirtualworlddepictedinthegame.Therestaurantsimulationgameisabranchofit.Playersusethefirst-handresourcestocreateunlimitedpossibilitiesthroughtheirowncapabilities.PlayerscanexperiencethefunofentrepreneurshipinthegameandenjoytheunprecedentedexperienceofbeingaHongKong-styletearestaurantboss.

Keywords:Unity3DSimulationgameRestaurantsimulation目錄第一章緒論 緒論1.1開(kāi)發(fā)意義及其發(fā)展前景本課題的意義是設(shè)計(jì)并實(shí)現(xiàn)一個(gè)模擬經(jīng)營(yíng)類游戲,基于港式茶餐廳的風(fēng)格及其經(jīng)營(yíng)方式打造出一款新穎的餐館經(jīng)營(yíng)游戲,同時(shí)從現(xiàn)實(shí)出發(fā),為用戶呈現(xiàn)出當(dāng)今茶餐廳的經(jīng)營(yíng)方式、經(jīng)營(yíng)理念本課題的主要目標(biāo)是設(shè)計(jì)與開(kāi)發(fā)出一個(gè)基于Unity3D的模擬經(jīng)營(yíng)類游戲”TOP”,在單機(jī)游戲模式下用戶將獨(dú)自經(jīng)營(yíng)一家港式茶餐廳。以Unity3D作為開(kāi)發(fā)游戲的工具,使用符合港式風(fēng)的模型,構(gòu)建符合港式茶餐廳主題的游戲場(chǎng)景,使用Unity3D自帶的插件并且編寫腳本代碼,經(jīng)歷一個(gè)游戲開(kāi)發(fā)周期,實(shí)現(xiàn)玩家可對(duì)游戲進(jìn)行操作。構(gòu)思獨(dú)特的港式風(fēng)游戲劇情,設(shè)計(jì)港式風(fēng)UI界面,同時(shí)加入游戲外部文件等大量的游戲設(shè)計(jì)必要內(nèi)容如檸檬茶、奶茶等港風(fēng)理念令游戲的信息增大,并且隨著游戲的進(jìn)行,游戲中關(guān)鍵詞港式茶檔的理念,通過(guò)游戲內(nèi)容展現(xiàn)出來(lái)。最終完成一款功能完善、實(shí)現(xiàn)了一定可玩性的主題類模擬經(jīng)營(yíng)游戲。國(guó)內(nèi)外的發(fā)展?fàn)顩r時(shí)至今日,在國(guó)內(nèi)3D游戲的研究已經(jīng)非常普遍,甚至連許多高校都有教授游戲方向的專業(yè)。因?yàn)閲?guó)內(nèi)3D游戲開(kāi)發(fā)技術(shù)引進(jìn)時(shí)間比較晚,所以導(dǎo)致了在技術(shù)方面上我們與國(guó)外有很大的差距,其次,在游戲的開(kāi)發(fā)與制作時(shí),我國(guó)基本沒(méi)有獨(dú)立研發(fā)的游戲引擎,現(xiàn)階段我國(guó)許多游戲公司開(kāi)發(fā)時(shí)的選擇是國(guó)外所開(kāi)發(fā)的游戲引擎諸如寒霜引擎,同時(shí)國(guó)內(nèi)開(kāi)發(fā)游戲并不能排上一級(jí)游戲行列,價(jià)值也不高,這也是國(guó)內(nèi)游戲一直被人詬病的主要原因。如今,Android和IOS是兩種主流的手機(jī)操作系統(tǒng),成為主流的原因,是在這兩個(gè)操作系統(tǒng)基礎(chǔ)上開(kāi)發(fā)出大量的應(yīng)用。因此,安卓系統(tǒng)與蘋果系統(tǒng)現(xiàn)在已經(jīng)占據(jù)了整個(gè)手機(jī)市場(chǎng),為了使軟件能夠在兩個(gè)平臺(tái)同時(shí)兼容,于是出現(xiàn)了能夠跨平臺(tái)的軟件移植,但是,跨平臺(tái)的應(yīng)用移植會(huì)出現(xiàn)很多難題以及bug需要修復(fù),如開(kāi)發(fā)語(yǔ)言不同,移植代價(jià)高等,但是游戲開(kāi)發(fā)的圈子,Unity3D游戲引擎卻必不會(huì)出現(xiàn)這些問(wèn)題,在Unity3D中運(yùn)用到虛擬機(jī)技術(shù),獨(dú)立于平臺(tái)執(zhí)行的游戲編譯結(jié)果也是一個(gè)亮點(diǎn)。對(duì)于3D引擎的研究,我們國(guó)內(nèi)還處于摸索階段,需要足夠的時(shí)間去發(fā)展,學(xué)習(xí)優(yōu)秀的游戲引擎,吸收這些優(yōu)秀的特點(diǎn)為己利用,對(duì)于我們將來(lái)無(wú)論是開(kāi)發(fā)游戲還是開(kāi)發(fā)游戲引擎都有很大幫助。第二章開(kāi)發(fā)技術(shù)Unity3D相關(guān)介紹Unity3D是由UnityTechnologies公司開(kāi)發(fā)的一個(gè)專業(yè)游戲引擎。值得一提的是Unity3D被高占比使用的原因在于使用Unity3D能夠輕松的開(kāi)發(fā)一款游戲,Unity3D能做到的事情非常之多,例如高幀率的三維動(dòng)畫(huà)、三維視頻游戲、極其逼真地虛擬現(xiàn)實(shí)游戲等,最關(guān)鍵的是Unity3D實(shí)現(xiàn)了多個(gè)平臺(tái)開(kāi)發(fā)如安卓、PC、iOS等,這也令其深受游戲開(kāi)發(fā)人員的重用。隨著游戲產(chǎn)業(yè)發(fā)展越來(lái)越迅速,快速開(kāi)發(fā)高質(zhì)量游戲的需求已經(jīng)逐漸占據(jù)重要地位,而Unity3D不僅可以提高開(kāi)發(fā)效率,游戲渲染質(zhì)量也屬于中等偏上,在手游產(chǎn)業(yè)更是不可被取代,并且由于Unity3D的版權(quán)費(fèi)比其他主流3D游戲引擎便宜很多,使得在國(guó)內(nèi)越來(lái)越多游戲開(kāi)發(fā)者使用該引擎進(jìn)行商業(yè)化開(kāi)發(fā)。在Unity3D中,將支持C#語(yǔ)言、JavaScript、Boo這3種語(yǔ)言來(lái)編寫游戲腳本。并支持Shader的編寫,本設(shè)計(jì)采用的編程語(yǔ)言為C#語(yǔ)言。2.1.1Unity腳本生命周期Unity程序腳本有一套比較完善的生命周期,在這個(gè)從喚醒函數(shù)到銷毀函數(shù)都的生命周期中,有著一定的制約,那便是在開(kāi)發(fā)過(guò)程中遵從自身的UnityMONO生命周期規(guī)則。下列是在Unity的生命周期中由系統(tǒng)內(nèi)自身調(diào)用很重要的方法:(1)voidAwake(){}:腳本初始化的啟動(dòng),將腳本喚醒,其后進(jìn)行初始化工作,在Mono庫(kù)中這是系統(tǒng)執(zhí)行的第一個(gè)方法,并且只被執(zhí)行一次在腳本的生命周期中。(2)voidOnEnable(){}:啟用,物體啟用時(shí)被調(diào)用。(3)voidStart(){}:開(kāi)始處理,開(kāi)始邏輯,關(guān)于這個(gè)方法的詳細(xì)講解指是在OnEnanleAwake()方法之后、Update()方法之前執(zhí)行,而且只能夠執(zhí)行一次這個(gè)方法。(4)voidUpdate(){}:這個(gè)方法是正常更新邏輯,在游戲中的每幀都會(huì)被進(jìn)行處理。而這個(gè)邏輯處理只能調(diào)用一次。(5)voidLateUpdate(){}:這個(gè)方法是推遲更新,執(zhí)行時(shí)系統(tǒng)中會(huì)調(diào)用每一幀,但必須在Update()方法執(zhí)行完后,此方法才能由系統(tǒng)去調(diào)用。(6)voidFixedUpdate(){}:固定更新,和幀頻無(wú)關(guān),和時(shí)間有關(guān)系。固定更新常用于移動(dòng)模型等操作。(7)voidOnGUI(){}:此方法用于繪制界面系統(tǒng),任何時(shí)候都在調(diào)用繪制界面,用于繪制系統(tǒng)的界面,處理按鈕。(8)voidOnDisable(){}:禁用時(shí)候調(diào)用,和Active(false),物體被禁用時(shí)調(diào)用。(9)voidOnDestroy(){}:銷毀,和OnDestroy(gameobject)調(diào)用,調(diào)用的條件是腳本被銷毀時(shí)。根據(jù)Unity3D腳本中的生命周期,當(dāng)在調(diào)用方法時(shí),首先初始化的順序,其次建立出Unity腳本生命周期方法調(diào)用過(guò)程順序圖如圖2-1所示。圖2-1Unity腳本生命周期方法調(diào)用過(guò)程順序圖2.1.2Unity跨平臺(tái)技術(shù)Unity3D幾乎是市場(chǎng)上最流行的游戲開(kāi)發(fā)引擎了,由UnityTechnology(以下簡(jiǎn)稱UT)公司開(kāi)發(fā),它可用于Windows和MacOSX系統(tǒng)(Linux系統(tǒng)實(shí)驗(yàn)版已發(fā)布)。最重要的是,它幾乎可以導(dǎo)出到任意平臺(tái)。Unity是一個(gè)優(yōu)秀的游戲引擎。Unity中對(duì)各平臺(tái)編譯指令如表2-1Unity跨平臺(tái)技術(shù)編譯指令所示:表2-1Unity跨平臺(tái)技術(shù)編譯指令名稱說(shuō)明UNITY_EDITOR定義從游戲代碼調(diào)用Unity編輯器腳本UNITY_ANDROID為Android平臺(tái)的平臺(tái)定義腳本UNITY_IPHONE為Iphone平臺(tái)編譯/執(zhí)行的代碼的平臺(tái)定義腳本UNITY_STANDALONE_WIN為Windows獨(dú)立的應(yīng)用程序編譯/執(zhí)行代碼時(shí)使用的腳本UNITY_STANDALONE_OSX專門用于MacOS(包括Universal、PPCandIntel架構(gòu))編譯或執(zhí)行的代碼的平臺(tái)物理引擎在3D游戲這種綜合類應(yīng)用當(dāng)中,除了逼真的模擬出真實(shí)3D世界的環(huán)境效果,物理引擎也是必不可少的環(huán)境功能。在真實(shí)3D世界當(dāng)中,物體與物體之間是存在相互作用與物理規(guī)律的。而在游戲環(huán)境中,在模擬剛體的前提下,如果是簡(jiǎn)單的物理運(yùn)動(dòng),例如是游戲中簡(jiǎn)單的移動(dòng)、加速等,這是可以通過(guò)一般的游戲引擎然后進(jìn)行編程或編寫腳本去實(shí)現(xiàn)功能。當(dāng)開(kāi)發(fā)游戲需要模擬復(fù)雜的物理規(guī)律,如彈起、滑動(dòng)、碰撞、爆炸等效果時(shí),比如編譯底層算法會(huì)使得工程延誤,這就與軟件工程的思想產(chǎn)生矛盾。在3D游戲環(huán)境中,成熟的物理引擎將支持更復(fù)雜更真實(shí)的3D環(huán)境物理模擬。物理引擎的基本架構(gòu)分為兩個(gè)模塊,碰撞檢測(cè)與物理學(xué)世界。如圖2-1所示。物理學(xué)世界模塊物理學(xué)世界模塊物理引擎系統(tǒng)碰撞檢測(cè)模塊物理引擎系統(tǒng)碰撞檢測(cè)模塊圖2-1物理引擎結(jié)構(gòu)示意圖渲染引擎當(dāng)3D場(chǎng)景各物體的位置信息以及場(chǎng)景本身的各種信息通過(guò)外界調(diào)用模塊,輸入到物理引擎中被接受,物理引擎即產(chǎn)生相應(yīng)回饋從而產(chǎn)生物理效果。因調(diào)用模塊的不同,輸出的計(jì)算結(jié)果也不相同,但計(jì)算的方式是相同的:碰撞發(fā)生的地點(diǎn)、發(fā)生碰撞后物體的地點(diǎn)、物體與物體和物體與場(chǎng)景之間是否有碰撞發(fā)生。最后將通過(guò)計(jì)算得出結(jié)果再發(fā)送給已經(jīng)調(diào)用的模塊。物理引擎功能示意圖如圖2.3所示。渲染引擎位置信息位置信息物理引擎物理引擎網(wǎng)絡(luò)傳輸網(wǎng)絡(luò)傳輸圖2-2物理引擎功能示意圖Unity概念解釋Scene場(chǎng)景,我們可以把它當(dāng)作一部電影,儲(chǔ)存了各種不同的資源,儲(chǔ)存后的資源文件的后綴名都是Unity。編寫的腳本中使用Scene類來(lái)表示。GameObject游戲?qū)ο?,可以把其視為電影中的景物、道具、角色等等能夠看?jiàn)的物件。代碼中使用GameObject類來(lái)表示。Light燈光,可以視作電影的燈光調(diào)節(jié)器,使用其可以任意調(diào)節(jié)整個(gè)虛擬世界的明暗。代碼中用Light類表示,Light繼承自Component,同樣其身份為游戲?qū)ο蟮慕M件。Prefab預(yù)制件是對(duì)與自定義的一組游戲?qū)ο?,開(kāi)發(fā)者會(huì)預(yù)先配置,設(shè)置預(yù)制體相互位置,預(yù)制體的層級(jí)關(guān)系等等,然后把它們存儲(chǔ)為模板形成一個(gè)整體。后續(xù)使用這個(gè)整體模板,進(jìn)行的操作就是構(gòu)建出一份游戲?qū)ο蟮目截?。Asset資源,Unity中有很多資源,GameObject、Component其實(shí)都是資源,但很多時(shí)候,我們開(kāi)發(fā)者說(shuō)的資源指的是:網(wǎng)格、動(dòng)畫(huà)、貼圖、材質(zhì)、音頻片段、字體等等。如果出現(xiàn)的游戲資源類型很多,那么對(duì)應(yīng)的類也不同如表2-2名稱文件格式網(wǎng)格:Meshfbx、obj等動(dòng)畫(huà):Animationanim等貼圖:Texturepsd、tif、png、jpeg等材質(zhì):Materialmat音頻:AudioClipogg、wav、mp3等字體:Fontttf、fnt等在開(kāi)發(fā)過(guò)程中,UnityEngine命名空間下方的Object類都會(huì)被資源類所繼承,注意與CSharp默認(rèn)空間中的Object不同。

第三章游戲需求分析3.1系統(tǒng)可行性分析3.1.1技術(shù)可行性分析本游戲是一款基于港式茶餐廳的風(fēng)格及其經(jīng)營(yíng)方式的模擬經(jīng)營(yíng)類游戲,從現(xiàn)實(shí)出發(fā),希望能夠借此為用戶呈現(xiàn)出當(dāng)今茶餐廳的經(jīng)營(yíng)方式、經(jīng)營(yíng)理念。游戲平臺(tái)面向是Windows,通過(guò)我自行對(duì)游戲內(nèi)容的數(shù)據(jù)分析以及需求,同時(shí)我也考慮了開(kāi)發(fā)環(huán)境、運(yùn)行環(huán)境、設(shè)備要求,在技術(shù)上確定使用Unity3D能夠開(kāi)發(fā)出這款模擬經(jīng)營(yíng)游戲,在功能需求上可以通過(guò)現(xiàn)有的知識(shí)及自身需學(xué)習(xí)的知識(shí)去實(shí)現(xiàn)游戲功能。并且采用市面上模擬經(jīng)營(yíng)類的游戲大眾化操作,能夠大幅度降低對(duì)自身的游戲開(kāi)發(fā)技術(shù)要求,讓玩家在享受策略類游戲帶來(lái)的樂(lè)趣。3.1.2經(jīng)濟(jì)可行性分析本游戲基于Unity3D開(kāi)發(fā)的模擬經(jīng)營(yíng)游戲不需要任何經(jīng)費(fèi)成本,游戲中的模型場(chǎng)景皆是網(wǎng)絡(luò)免費(fèi)開(kāi)源,因此在忽略成本的條件下能夠最大限度的開(kāi)發(fā)此游戲。同時(shí)本游戲所需資源皆是網(wǎng)絡(luò)收集,游戲完成后不實(shí)現(xiàn)經(jīng)濟(jì)效益,即利用該游戲獲取經(jīng)濟(jì)利益,所以從經(jīng)濟(jì)上開(kāi)發(fā)此游戲是可行的。3.1.3法律可行性分析本游戲純屬個(gè)人開(kāi)發(fā)并沒(méi)有任何商業(yè)用途、沒(méi)有開(kāi)展商業(yè)活動(dòng)、沒(méi)有獲取經(jīng)濟(jì)效益,因此,在利用網(wǎng)絡(luò)上的素材基礎(chǔ)的條件下開(kāi)發(fā)此款游戲沒(méi)有侵犯他人利益,即不存在不合法行為。在法律上開(kāi)發(fā)此游戲是可行的。系統(tǒng)功能需求分析游戲功能劃分根據(jù)模擬經(jīng)營(yíng)游戲TOP的設(shè)計(jì)需求與游戲的玩法,將整個(gè)游戲功能劃分4個(gè)部分,分別是角色控制、商店功能、關(guān)卡功能、訂單功能如圖3-1游戲功能模塊圖所示。圖3-1游戲功能模塊劃分游戲功能描述角色控制功能:玩家開(kāi)始進(jìn)入游戲后,能夠使用鼠標(biāo)操控服務(wù)員進(jìn)行移動(dòng)完成訂單的出餐。使用鼠標(biāo)操作簡(jiǎn)單易上手,注重玩家游戲體驗(yàn)。商店功能:在游戲商店中我增添了道具系統(tǒng)使得游戲性大大提高,豐富了游戲的玩法,道具分別有移速加成(即加快服務(wù)員的移動(dòng)速度),訂單立即完成(即隨機(jī)立即完成訂單)、服務(wù)員招募(即增加服務(wù)員數(shù)量)。金幣系統(tǒng)的設(shè)置是為了商店系統(tǒng)能夠順利實(shí)現(xiàn),在游戲中每完成一個(gè)訂單,則增加10金幣,金幣可用于商店道具的購(gòu)買。關(guān)卡功能:游戲中一共有三個(gè)關(guān)卡,越往后訂單需求完成量越高難度越大,玩家在規(guī)定時(shí)間內(nèi)完成任務(wù)則闖關(guān)成功可進(jìn)入下一關(guān),否則視為闖關(guān)失敗。訂單功能:訂單是勝負(fù)判定、獎(jiǎng)勵(lì)的關(guān)鍵,游戲中訂單事件會(huì)隨機(jī)生成(訂單菜單與港式茶餐廳有關(guān),即奶茶、檸檬茶、西多士、碟頭飯四種),一個(gè)外賣員對(duì)應(yīng)一個(gè)訂單,服務(wù)員出餐滿足訂單需求并成功送給外賣員訂單才算完成。系統(tǒng)性能需求分析精確度保證游戲進(jìn)行中的玩家數(shù)據(jù)操作精準(zhǔn),保證配置文件準(zhǔn)確性與公平性,對(duì)游戲戰(zhàn)斗結(jié)束的判定進(jìn)行嚴(yán)謹(jǐn)?shù)谋O(jiān)控。時(shí)間特性游戲中的界面切換的響應(yīng)時(shí)間在0.1-0.3秒內(nèi),加載頁(yè)面的加載動(dòng)畫(huà)的響應(yīng)時(shí)間在0.5-1秒內(nèi),點(diǎn)擊效果與角色接觸消失效果的響應(yīng)時(shí)間在0.2-0.5秒內(nèi)。適用性游戲適用于各大品牌的PC系統(tǒng)電腦,能夠安全穩(wěn)定運(yùn)行,出現(xiàn)游戲閃退的幾率較少。

第四章游戲系統(tǒng)設(shè)計(jì)4.1游戲系統(tǒng)總體設(shè)計(jì)本游戲系統(tǒng)是基于PC平臺(tái)運(yùn)行的3D第三人稱模擬經(jīng)營(yíng)類游戲,游戲參照《QQ餐廳》開(kāi)發(fā),因此,游戲?qū)崿F(xiàn)的功能在這兩款游戲基礎(chǔ)上進(jìn)行擴(kuò)展。根據(jù)這種情況,經(jīng)初步的需求分析得出來(lái)表4-1所示整個(gè)游戲系統(tǒng)說(shuō)明。表4-1游戲各系統(tǒng)說(shuō)明名稱說(shuō)明主菜單系統(tǒng)用戶對(duì)開(kāi)始新游戲、游戲選項(xiàng)設(shè)置、查看游戲介紹、退出商店系統(tǒng)管理游戲中所有道具的生成勝負(fù)判定系統(tǒng)挑戰(zhàn)管卡結(jié)束勝負(fù)判斷,并產(chǎn)生獎(jiǎng)勵(lì)獎(jiǎng)勵(lì)系統(tǒng)用戶可以通過(guò)完成訂單的訂單數(shù)量,領(lǐng)取相應(yīng)的獎(jiǎng)勵(lì)游戲系統(tǒng)模塊設(shè)計(jì)由于經(jīng)營(yíng)類游戲TOP需實(shí)現(xiàn)的功能較多,包括場(chǎng)景加載,讀取和存取相關(guān)的數(shù)據(jù),查看功能、設(shè)置等等。因此,為了提高開(kāi)發(fā)該游戲的效率和方便管理游戲工程項(xiàng)目與游戲功能,游戲系統(tǒng)將采用設(shè)計(jì)原理——模塊化的設(shè)計(jì)原理,即把游戲系統(tǒng)按照不同功能進(jìn)行分塊。根據(jù)游戲需求分析,在滿足游戲基本功能的需求基礎(chǔ)上,為了使游戲符合軟件開(kāi)發(fā)的高內(nèi)聚,低耦合原則,即提高各個(gè)模塊之間的獨(dú)立性,各模塊之間功能又密切相關(guān)。根據(jù)游戲系統(tǒng)用例建模,設(shè)計(jì)該游戲的目標(biāo)系統(tǒng),以玩家進(jìn)入游戲?yàn)槔S螒蛴美龍D如圖4-1圖4-1游戲用例圖數(shù)據(jù)模型設(shè)計(jì)人物訂單人物訂單分析,當(dāng)這一關(guān)需要的數(shù)據(jù)超過(guò)我們想要的數(shù)據(jù)時(shí)候,就將其通過(guò)這關(guān)人物完成。這樣設(shè)計(jì)可以將所有的訂單數(shù)據(jù)集合在我們的核心腳本中,可以判斷這關(guān)的所有情況。表4-2任務(wù)訂單表數(shù)據(jù)類型數(shù)據(jù)名字實(shí)現(xiàn)的操作floatLevelTime//這一關(guān)用到的時(shí)間;floatLevelNeedPeopleNum//這一關(guān)需要完成的數(shù)量;floatLevelproducePeopleTime//產(chǎn)生人物的時(shí)間。floatLevelSHOPTime//商品時(shí)間關(guān)卡數(shù)據(jù)類型。關(guān)卡數(shù)據(jù)總共有三關(guān)每關(guān)根據(jù)不同的數(shù)量,進(jìn)行不同的派單,讓其有更多的豐富性??梢宰孕薪M裝。這樣設(shè)計(jì)可以將所有的關(guān)卡內(nèi)需要的數(shù)據(jù)集合腳本中,判斷這關(guān)的所有情況。表4-3關(guān)卡數(shù)據(jù)表數(shù)據(jù)類型數(shù)據(jù)名字實(shí)現(xiàn)的操作floatCurrentTime//這一關(guān)用到的時(shí)間;floatNeedPeopleNum//這一關(guān)需要完成的數(shù)量;floatCurrentproducePeopleTime//產(chǎn)生人物的時(shí)間。商品數(shù)據(jù)類型。在Core中,存儲(chǔ)有核心的MHaveItem結(jié)構(gòu)體,可以將他的所有商品加載在內(nèi)存中。商品價(jià)格填寫在腳本中,可以進(jìn)行購(gòu)買。做成類型核心控制的腳本,可以將所有的關(guān)鍵核心詞放在我們的腳本中,方便操作。表4-4商品數(shù)據(jù)表數(shù)據(jù)類型數(shù)據(jù)名字實(shí)現(xiàn)的操作intCurrentGold//當(dāng)前金幣intItemSpeed//加速道具intItemOver//立即完成訂單道具intItemAddNum//增加服務(wù)員道具intCurrentNpcNum//當(dāng)前NPC的數(shù)量

第五章游戲系統(tǒng)實(shí)現(xiàn)UI設(shè)計(jì)模塊實(shí)現(xiàn)5.1.1UI設(shè)計(jì)簡(jiǎn)介UI設(shè)計(jì)是指對(duì)在與軟件進(jìn)行交互的界面的整體設(shè)計(jì)。在人機(jī)交互、按鈕界面的UI設(shè)計(jì)是重點(diǎn)關(guān)注。當(dāng)我們制作一個(gè)游戲,需要游戲獨(dú)特、有辨別性,游戲的操作能夠符合用戶群體的需求,滿足其需求的條件下同時(shí)充分體現(xiàn)一個(gè)游戲的定位和特點(diǎn),就需要優(yōu)秀的UI設(shè)計(jì)。關(guān)于UI,Unity中自帶UGUI可用于UI的設(shè)計(jì),但根據(jù)游戲系統(tǒng)用例建模分析游戲功能模塊涉及到UI較多,而且擁有完整的UI動(dòng)畫(huà)設(shè)計(jì)特效。本游戲在界面設(shè)計(jì)上采用了層次化的思想,把整個(gè)游戲中的全部界面獨(dú)立開(kāi)來(lái),利用UGUI進(jìn)行可視化界面設(shè)計(jì),可即時(shí)查看到界面設(shè)計(jì),對(duì)整個(gè)界面及時(shí)進(jìn)行調(diào)整,不需要在程序調(diào)試時(shí)才可以看到游戲界面,大大提高了開(kāi)發(fā)效率和維護(hù)成本。美觀符合游戲主題的界面能夠吸引用戶,并且當(dāng)使用UI實(shí)現(xiàn)了游戲操作方便,更容易上手體驗(yàn)。同時(shí)還能夠避免用戶在體驗(yàn)時(shí)出現(xiàn)太大的不適感,視覺(jué)上的效果越好便越利于用戶的理解和使用。通常情況下,UI界面設(shè)計(jì)時(shí)能夠反映用戶的需求,并不是開(kāi)發(fā)人員特意為之。所有的操作的設(shè)計(jì)都是以用戶體驗(yàn)為出發(fā)點(diǎn),因?yàn)樗械挠脩舳紦碛凶约旱睦斫夂褪褂梅椒?。界面整潔美觀,游戲整體風(fēng)格與產(chǎn)品級(jí)別便越高。5.1.2開(kāi)始界面UI設(shè)計(jì)創(chuàng)建UGUI中2DUI組件,在Hierarchy視圖下UIRoot中Camera創(chuàng)建子對(duì)象面板Canvas、Canvas,Canvas面板用于存儲(chǔ)開(kāi)始游戲按鈕,聲音調(diào)節(jié)按鈕和設(shè)置按鈕;Panel2面板為玩家信息操作面板,在此面板上,玩家可以對(duì)玩家信息進(jìn)行讀取、刪除、新建操作。點(diǎn)擊開(kāi)始游戲按鈕,觸發(fā)按鈕事件,從Panel面板切換至Panel2面板,代碼實(shí)現(xiàn)如下:publicStartUIm_StartUI;[System.Serializable]publicstructStartUI{publicButtonDesGameBtn;publicButtonStartGameBtn;publicButtonQuitGameBtn;publicGameObjectDesObj;publicButtonDesQuitBtn;}privatevoidStart(){m_StartUI.DesGameBtn.onClick.AddListener(delegate{m_StartUI.DesObj.gameObject.SetActive(true);});m_StartUI.DesQuitBtn.onClick.AddListener(delegate{m_StartUI.DesObj.gameObject.SetActive(false);});if(Core.Instance){m_StartUI.StartGameBtn.onClick.AddListener(delegate{Core.Instance.LoadScene("02");});m_StartUI.QuitGameBtn.onClick.AddListener(delegate{Application.Quit();});}}}圖4-1開(kāi)始界面菜單點(diǎn)擊開(kāi)始游戲,通過(guò)異步加載,從場(chǎng)景Start加載到場(chǎng)景Menu。加載菜單Menu場(chǎng)景代碼實(shí)現(xiàn)如下:Application.LoadLevel(“Menu”);5.1.3菜單界面UI設(shè)計(jì)菜單界面各功能UI設(shè)計(jì)可以歸為兩類:1.游戲簡(jiǎn)介,開(kāi)始游戲和退出游戲,這三個(gè)系統(tǒng)的顯示都需要按序按位置排列,并調(diào)用配置文件對(duì)每個(gè)對(duì)象屬性進(jìn)行賦值;2.關(guān)卡系統(tǒng)與其他功能,關(guān)卡系統(tǒng)設(shè)計(jì)方式是將所有關(guān)卡按鈕名稱統(tǒng)一格式命名,在點(diǎn)擊某個(gè)按鈕時(shí),傳入按鈕名稱,觸發(fā)對(duì)應(yīng)按鈕事件。選擇商店系統(tǒng)中UI商品物品Item和關(guān)卡系統(tǒng)選關(guān)UI加以詳細(xì)描述,其余就不一贅述了。UGUI實(shí)現(xiàn)等大等距排序顯示運(yùn)用到的組件:ScrollView組件和Grid組件。ScrollView組件作用是設(shè)置一塊可視區(qū)域,在Grid組件下的子對(duì)象超過(guò)其可視區(qū)域就無(wú)法在界面中顯示,并可以實(shí)現(xiàn)子對(duì)象從左到右排列??紤]后續(xù)維護(hù)和拓展的簡(jiǎn)便,將UI商品物品Item展示模型制作成預(yù)制體,通過(guò)代碼加載到Grid組件下作為子對(duì)象,并加載配置文件數(shù)據(jù)。如圖4-1菜單面板設(shè)計(jì)如圖4-2。數(shù)據(jù)管理加載如圖4-3。圖4-1菜單界面圖4-2菜單面板設(shè)計(jì)圖4-3數(shù)據(jù)管理加載在場(chǎng)景加載中,存儲(chǔ)著這些人物屬性道具,以及道具數(shù)據(jù)等等。數(shù)據(jù)管理管理模塊實(shí)現(xiàn)在模擬經(jīng)營(yíng)游戲中,數(shù)據(jù)的讀取與存儲(chǔ)是最為重要的,游戲中數(shù)據(jù)包括靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù),靜態(tài)數(shù)據(jù)即為游戲中固定的某些數(shù)值,如地圖關(guān)卡數(shù)據(jù),服務(wù)員屬性數(shù)據(jù),外賣員屬性數(shù)據(jù)等;動(dòng)態(tài)數(shù)據(jù)也稱為玩家數(shù)據(jù),包含玩家花錢購(gòu)買的游戲幣(金幣),關(guān)卡的解鎖和玩家獲得的星級(jí)等。靜態(tài)數(shù)據(jù)管理關(guān)于靜態(tài)數(shù)據(jù),Unity3D工程中使用配置文件一般使用Txt、Xml、Json、Db(數(shù)據(jù)庫(kù)),四種格式文件對(duì)比如下:Txt:開(kāi)發(fā)人員必須設(shè)定格式、封裝讀取的方式。設(shè)定與封裝因人而異,重點(diǎn)是只能夠讀取。Xml:標(biāo)簽語(yǔ)言,已規(guī)定格式,系統(tǒng)中提供讀取和修改等相關(guān)API,操作方便。Json:采用鍵值對(duì)的方式去進(jìn)行數(shù)據(jù)的存儲(chǔ),可在任何平臺(tái)下使用,普遍被客戶端與服務(wù)端通訊采用,存儲(chǔ)相等數(shù)據(jù)信息下文件要比Xml文件小,還可以只進(jìn)行值存儲(chǔ)(不需要鍵),更加縮小了文件的體積,適合在移動(dòng)端進(jìn)行聯(lián)網(wǎng)游戲的通信操作。db:適合復(fù)雜數(shù)據(jù)和敏感數(shù)據(jù),增刪該查非常方便。根據(jù)本設(shè)計(jì)的需求,選用了Xml格式作為配置文件格式,方便信息數(shù)據(jù)和地圖數(shù)據(jù)的加載。Xml格式的配置文件一般放在由Untiy自主管理模式的Resources文件夾中,在此文件夾下當(dāng)需要讀取資源可通過(guò)Resources.Load()讀取。通常所有資源都可讀取。Unity讀取Xml文件的步驟如下:新建一個(gè)TextAsset類型的成員MapXml,調(diào)用Resources.Load()方法從Resources文件夾下讀取相應(yīng)的Xml文件的數(shù)據(jù)。例如:MapXml=Resources.Load<TextAsset>("XML/Map");創(chuàng)建XmlDocument新對(duì)象xmlDoc,關(guān)聯(lián)并解析MapXml.text。獲取列表數(shù)值,獲取子節(jié)點(diǎn)。例如:mapList=xmlDoc.SelectSingleNode("MapConfig/Map").ChildNodes;如圖4-4圖4-4數(shù)據(jù)管理服務(wù)員尋路模塊實(shí)現(xiàn)尋路網(wǎng)格設(shè)置NavMesh(導(dǎo)航網(wǎng)格)是Unity3D自帶的一種自動(dòng)尋路技術(shù),可以在開(kāi)發(fā)的虛擬游戲世界中實(shí)現(xiàn)動(dòng)態(tài)物體自動(dòng)尋路,該尋論技術(shù)能夠?qū)⒂螒蛑袕?fù)雜的結(jié)構(gòu)組織關(guān)系轉(zhuǎn)化成帶有一定信息的網(wǎng)格,在這些網(wǎng)格的基礎(chǔ)上系統(tǒng)計(jì)算后得出最優(yōu)路線,以此來(lái)實(shí)現(xiàn)自動(dòng)尋路。簡(jiǎn)單來(lái)說(shuō)就是為需要的物體添加NavMeshAgent組件,并設(shè)置適當(dāng)?shù)膮?shù)。一般需要設(shè)置物體的半徑、高度、速度、加速度、距離目標(biāo)的停止距離。當(dāng)需要這個(gè)物體進(jìn)行導(dǎo)航移動(dòng)時(shí),我們需要給導(dǎo)航物體添加一個(gè)條件,即掛載導(dǎo)航組件,這個(gè)導(dǎo)航物體將會(huì)自動(dòng)尋路他計(jì)算出最合適的路線,并沿該線路到達(dá)我們?cè)O(shè)定的目標(biāo)點(diǎn)。點(diǎn)擊進(jìn)行尋路的物體,并添加在Unity3D右側(cè)的導(dǎo)航欄選中Component——Navigation——NavMeshA gent組件,然后在導(dǎo)航欄打開(kāi)Window——Navigation窗口,在Navigation窗口選擇Bake,選擇后我們需要再次選擇右下角的Bake。在每一個(gè)服務(wù)員身上掛載NavMeshAgent進(jìn)行烘培場(chǎng)景,讓AI可以自動(dòng)尋路。如圖4-8所示:圖4-8NavMesh屬性表服務(wù)員尋路導(dǎo)航核心代碼usingUnityEngine;usingUnityEngine.UI;publicvoidOverShop(){gameObject.GetComponent<UnityEngine.AI.NavMeshAgent>().destination=StartVector3;}publicvoidSetdestination(PeopleNpcpeopleNpc){gameObject.GetComponent<UnityEngine.AI.NavMeshAgent>().destination=peopleNpc.transform.position;}音效模塊模塊實(shí)現(xiàn)該功能的作用是玩家設(shè)置背景音樂(lè)以及音效。當(dāng)我們需實(shí)現(xiàn)背景音樂(lè)與音效功能時(shí),玩家可以在音效設(shè)置界面下進(jìn)行背景音樂(lè)的選擇與音效的音量大小控制。表2-1游戲設(shè)置用例描述用例編號(hào)201用例名稱游戲設(shè)置用例概述調(diào)整背景音樂(lè)與音效的音量以及關(guān)閉菜單和退出游戲參與者玩家前置條件玩家啟動(dòng)系統(tǒng):想要對(duì)游戲進(jìn)行設(shè)置后置條件游戲?qū)傩员桓淖兓臼录鞑襟E活動(dòng)1在主界面點(diǎn)擊“游戲設(shè)置”按鈕以此進(jìn)入游戲“設(shè)置界面”2在游戲設(shè)置界面中,并在“音樂(lè)設(shè)置”模塊下,點(diǎn)擊“播放音效”以此進(jìn)行音效的設(shè)置3調(diào)整音量大小或靜音規(guī)則與約束點(diǎn)擊按鈕可以得到對(duì)應(yīng)的響應(yīng)事件核心切換音樂(lè)代碼分析:publicstringSetAudioSourceClip(){AudioIndex++;AudioIndex=AudioIndex>=AudioClips.Length?0:AudioIndex;AudioSource.clip=AudioClips[AudioIndex];AudioSource.Play();returnmusicNamestr[AudioIndex];}5.5地形實(shí)現(xiàn)模塊實(shí)現(xiàn)5.5.1創(chuàng)建地形組件當(dāng)我們開(kāi)發(fā)一款游戲搭建場(chǎng)景需要在Unity3D創(chuàng)建地形時(shí),可以選擇使用用Terrain部件。我創(chuàng)建的方法是在Unity3D右側(cè)的菜單欄中選擇GameObject->3DObject->Terrain。在本次開(kāi)發(fā)游戲時(shí)創(chuàng)造的物體默認(rèn)id是Terrain.然后我對(duì)其進(jìn)行了簡(jiǎn)單的編寫。其次在Herarchy框中選用,在Inspector里面能夠看到這個(gè)部件的每一個(gè)附屬。也就能找到Terrain組件了。接下來(lái)的步驟,首先創(chuàng)造地形時(shí)點(diǎn)擊畫(huà)筆圖案按鈕,選擇下拉菜單,同時(shí)在下拉菜單中能夠使用升降地面的功能,。值得注意的是在下拉菜單里Texture使用地面的貼圖。4.6.2編輯Terrain地形組件1.在hierarchy中選中地形“Terrain”,Inspector里面,點(diǎn)addcomponet,輸入“TerrainCollider”,點(diǎn)擊就有了。2.還是選中地形,在菜單欄里,選Component->physics->TerrainCollider.5.6訂單完成模塊模塊實(shí)現(xiàn)訂單完成判斷依據(jù)就是,當(dāng)服務(wù)員和外賣NPC的碰撞盒進(jìn)行碰撞時(shí),將觸發(fā)訂單完成的判斷依據(jù),在FightManager.cs中,進(jìn)行計(jì)算添加完成的商品,然后將Npc消除。核心代碼分析如下:publicvoidRemovePeopleNpc(GameObjectobj,boolisShopOver){CurrentPeopleNpcs.Remove(obj.GetComponent<PeopleNpc>());obj.GetComponent<PeopleNpc>().DestroyPeopleNpc();if(isShopOver){m_CurrentLevel.NeedPeopleNum++;Core.Instance.MHaveItem.CurrentGold+=10;}else{Core.Instance.MHaveItem.CurrentGold-=10;}}在完成訂單時(shí),m_CurrentLevel.NeedPeopleNum+1。Update()中,會(huì)一直判斷,當(dāng)m_CurrentLevel.NeedPeopleNum大于我們這一關(guān)所需要的完成訂單時(shí),就順利通關(guān)這一關(guān)。5.7場(chǎng)景切換模塊實(shí)現(xiàn)在游戲過(guò)程中,某種特定情況下會(huì)進(jìn)行場(chǎng)景切換,例如:玩家在開(kāi)始界面創(chuàng)建新游戲或讀取存檔后需要切換到菜單場(chǎng)景、玩家選擇關(guān)卡挑戰(zhàn)后需要進(jìn)入戰(zhàn)斗(地圖)場(chǎng)景、挑戰(zhàn)關(guān)卡結(jié)束后選擇返回菜單或者主界面等,這一系列操作都需要場(chǎng)景資源加載。但加載資源的過(guò)程會(huì)引起游戲界面的卡頓,特別是加載資源過(guò)大時(shí),會(huì)造成游戲一段時(shí)間處于卡死狀態(tài),這會(huì)引起玩家的不滿,甚至反感。為了解決這類問(wèn)題,讓游戲保持良好的交互性,在需要場(chǎng)景加載時(shí),使用異步加載。所謂的異步加載,就是當(dāng)加載的場(chǎng)景或者資源較大時(shí),先加載一個(gè)極小的場(chǎng)景,在小場(chǎng)景運(yùn)行同時(shí)加載大場(chǎng)景資源,等大場(chǎng)景資源加載完畢后,跳轉(zhuǎn)到需要的場(chǎng)景。例如:A場(chǎng)景到B場(chǎng)景,加載過(guò)程如圖4.5所示:圖4.5異步加載過(guò)程圖實(shí)現(xiàn)代碼如下:publicUISpriteLoadingSlider;//加載條publicUILabelLoadingLabel;//loading預(yù)制體privatefloattargetValue;//滑動(dòng)條顯示數(shù)值privateAsyncOperationasync;//加載資源進(jìn)度privatefloatloadingSpeed=0.3f;//滑動(dòng)條加載速度voidStart(){StartCoroutine(loadScene());LoadingSlider.fillAmount=0;}IEnumeratorloadScene(){async=Application.LoadLevelAsync(PlayerInfo.Instance.Scenes);//阻止當(dāng)加載完成自動(dòng)切換async.allowSceneActivation=false;yieldreturnasync;}voidUpdate(){targetValue=gress;if(gress>=0.9f){//gress的值最大為0.9targetValue=1.0f;}if(targetValue!=LoadingSlider.fillAmount){//插值運(yùn)算LoadingSlider.fillAmount=Mathf.Lerp(LoadingSlider.fillAmount,targetValue,Time.deltaTime*loadingSpeed);if(Mathf.Abs(LoadingSlider.fillAmount-targetValue)<0.01f){LoadingSlider.fillAmount=targetValue;}}LoadingLabel.text="已加載:"+((int)(LoadingSlider.fillAmount*100)).ToString()+"%";if((int)(LoadingSlider.fillAmount*100)==100){//允許異步加載完畢后自動(dòng)切換場(chǎng)景async.allowSceneActivation=true;}}通過(guò)異步加載,在玩家在開(kāi)始界面創(chuàng)建游戲或者讀取存檔的之后加載菜單界面時(shí),跳轉(zhuǎn)到已制作好的Loading界面,在Loading界面觀看一些設(shè)計(jì)好的加載動(dòng)畫(huà)、圖片或者文字,消磨加載資源等待的時(shí)間,從而達(dá)到游戲流暢效果。在本設(shè)計(jì)中,異步加載不僅僅用于開(kāi)始界面與菜單界面的切換,也用于關(guān)卡選擇后切換于戰(zhàn)斗界面等。

第六章游戲測(cè)試6.1測(cè)試目的游戲測(cè)試的目的是比較游戲需求的定義,在不影響功能的條件下,發(fā)現(xiàn)與游戲初期定義不一致或與之矛盾的地方,發(fā)現(xiàn)盡可能多的缺陷,以此來(lái)驗(yàn)證游戲的功能和性能等滿足其規(guī)約所指定的要求。設(shè)計(jì)中出現(xiàn)BUG是不可避免的,經(jīng)過(guò)嚴(yán)格的測(cè)試,將其完善。通過(guò)對(duì)本設(shè)計(jì)的測(cè)試,將盡可能的發(fā)現(xiàn)游戲中的存在的錯(cuò)誤或者不足,加以完善。6.2黑盒測(cè)試黑盒測(cè)試,被稱作為功能測(cè)試。它測(cè)試以確定功能是否可以正常使用,專業(yè)的測(cè)試人員在整個(gè)測(cè)試過(guò)程中,同時(shí)在對(duì)程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性不進(jìn)行考慮的情況下,并且測(cè)試人員會(huì)把程序看作一個(gè)完全封閉并且不能打開(kāi)的黑盒子,需要嚴(yán)謹(jǐn)認(rèn)真負(fù)責(zé)進(jìn)行對(duì)程序的多個(gè)接口測(cè)試。按照我的理解,黑盒測(cè)試內(nèi)容時(shí)只會(huì)檢查程序功能有無(wú)正常使用,有無(wú)按照需求規(guī)格說(shuō)明書(shū)的規(guī)定,程序又是否有無(wú)正確地接收輸入數(shù)據(jù)并最終產(chǎn)生出正確的輸出信息。[10]下面使用黑盒測(cè)試中的等價(jià)類劃分法對(duì)具有代表作用的類型進(jìn)行測(cè)試,根據(jù)游戲設(shè)計(jì)過(guò)程難易度判斷,列出以下4種代表性的類型:1.點(diǎn)擊商店按鈕2.選擇關(guān)卡3.點(diǎn)擊開(kāi)始游戲4.關(guān)卡挑戰(zhàn)勝負(fù),劃分等價(jià)類并對(duì)其進(jìn)行編號(hào),如表6-1等價(jià)類設(shè)計(jì)用例表表6-1等價(jià)類設(shè)計(jì)輸入數(shù)據(jù)有效等價(jià)類無(wú)效等價(jià)類點(diǎn)擊商店按鈕點(diǎn)擊商店按鈕點(diǎn)擊商店按鈕選擇關(guān)卡3選擇關(guān)卡3點(diǎn)擊關(guān)卡2點(diǎn)擊開(kāi)始游戲點(diǎn)擊開(kāi)始游戲點(diǎn)擊點(diǎn)擊開(kāi)始游戲條件以外的部分關(guān)卡挑戰(zhàn)勝負(fù)關(guān)卡挑戰(zhàn)勝負(fù)關(guān)卡挑戰(zhàn)負(fù)以上是等價(jià)類設(shè)計(jì)的數(shù)據(jù)。6.3游戲測(cè)試用例本小節(jié)將在Unity3D進(jìn)行游戲的構(gòu)造指令,并將游戲發(fā)布到本地,測(cè)試各個(gè)功能模塊的運(yùn)行情況,保證每個(gè)游戲功能能夠正常運(yùn)行,保證游戲的完整性和可玩性。游戲測(cè)試用例如下表6-2游戲測(cè)試用例頁(yè)面表6-2游戲測(cè)試用例頁(yè)面測(cè)試模塊前置條件操作步驟預(yù)期結(jié)果實(shí)際結(jié)果備注菜單界面UI進(jìn)入游戲點(diǎn)擊主菜單按鈕,對(duì)所有按鈕進(jìn)行測(cè)試主菜單按鈕響應(yīng)正常觸發(fā)所有事件,功能正常使用結(jié)果如預(yù)期一致檢測(cè)成功音效設(shè)置進(jìn)入游戲后,打開(kāi)音效管理UI界面拉動(dòng)音量調(diào)節(jié)器調(diào)節(jié)音量大小,切換背景音樂(lè)可自由控制背景音樂(lè)音量大小,同時(shí)能夠切換背景音樂(lè)結(jié)果如預(yù)期一致檢測(cè)成功訂單功能進(jìn)入游戲控制服務(wù)員完成訂單并交給外賣員操控服務(wù)員將訂單的餐品送到外賣員處服務(wù)員與外賣員碰撞后訂單完成結(jié)果如預(yù)期一致檢測(cè)成功商店功能進(jìn)入游戲點(diǎn)擊商店UI,進(jìn)入商店購(gòu)買道具成功購(gòu)買道具,倉(cāng)庫(kù)道具庫(kù)存數(shù)量增加結(jié)果如預(yù)期一致檢測(cè)成功道具功能游戲中道具倉(cāng)庫(kù)庫(kù)存大于0游戲進(jìn)行中點(diǎn)擊道具道具功能成功實(shí)現(xiàn),觸發(fā)道具效果結(jié)果如預(yù)期一致檢測(cè)成功人物尋路功能進(jìn)入游戲點(diǎn)擊服務(wù)員頭像控制其進(jìn)行游戲服務(wù)員能夠根據(jù)玩家指示選擇最優(yōu)路線到達(dá)目的地結(jié)果如預(yù)期一致檢測(cè)成功金幣系統(tǒng)進(jìn)入游戲玩家進(jìn)行游戲完成游戲任務(wù)玩家在游戲中每完成一個(gè)訂單金幣+10,當(dāng)訂單失敗則金幣-10結(jié)果如預(yù)期一致檢測(cè)成功UI按鈕位于游戲主頁(yè)面點(diǎn)擊所有UI按鈕所有UI按鈕點(diǎn)擊后均能夠觸發(fā)事件結(jié)果如預(yù)期一致檢測(cè)成功經(jīng)測(cè)試本游戲Top已經(jīng)具備一定的可玩性和完整性。

第七章總結(jié)與展望7.1項(xiàng)目總結(jié)本人經(jīng)過(guò)這幾個(gè)月的努力,一款參照PC平臺(tái)由Unity3D引擎開(kāi)發(fā)的模擬經(jīng)營(yíng)類游戲TOP終于劃上句號(hào)。回想起這大半年來(lái),遇到很多開(kāi)發(fā)難題,不過(guò)還好總算完成了作品,不負(fù)自己的汗水,也不負(fù)指導(dǎo)老師的孜孜不悔的解惑,完成了自己的一個(gè)心愿,給自己交一份滿意的答卷。根據(jù)自己玩過(guò)的經(jīng)營(yíng)類型游戲相比,感覺(jué)經(jīng)營(yíng)游戲的制作相對(duì)其他類型游戲來(lái)說(shuō)比較簡(jiǎn)單,但經(jīng)過(guò)自己的一整套制作流程下來(lái),發(fā)現(xiàn)沒(méi)有一個(gè)游戲是簡(jiǎn)單的。從本人一開(kāi)始著手制作時(shí),出現(xiàn)的問(wèn)題層出不窮,深刻地認(rèn)識(shí)到自己對(duì)于游戲開(kāi)發(fā)方面以及Unity3D的知識(shí)還遠(yuǎn)遠(yuǎn)不夠。于是乎我從網(wǎng)上重新學(xué)習(xí)游戲開(kāi)發(fā)流程,從游戲初期的策劃、游戲框架搭建到游戲功能實(shí)現(xiàn),這個(gè)過(guò)程中一步步的學(xué)習(xí)、以及總結(jié)出的經(jīng)驗(yàn)讓我獲益匪淺。雖然該游戲能夠完整展示出來(lái),且有一定的趣味性、耐玩性,但當(dāng)中還存在著一些入門者開(kāi)發(fā)的通常編程毛病和本人目前水平解決不了的BUG。比如商店系統(tǒng)的展示信息在策劃的初期沒(méi)有過(guò)多的文案策劃;沒(méi)有詳細(xì)的規(guī)劃好各個(gè)腳本的負(fù)責(zé)等,但最終還是完成了這款游戲。本文的主要工作如下:研究模擬經(jīng)營(yíng)類游戲的類型,總結(jié)經(jīng)營(yíng)類游戲的核心玩法,分析當(dāng)下的餐廳經(jīng)營(yíng)游戲模式,運(yùn)用unity3d開(kāi)發(fā)游戲。完成Top餐廳模擬游戲的功能需求分析,總結(jié)出最核心的功能需求,菜單功能、商店功能、關(guān)卡功能、訂單功能,同時(shí)每個(gè)功能里包含了更細(xì)微的功能。利用網(wǎng)上現(xiàn)學(xué)的單列加載修改游戲中的數(shù)值及屬性。使用unity3d自帶的Navmesh尋路算法作為npc移動(dòng)的基礎(chǔ)。7.2展望隨著畢業(yè)設(shè)計(jì)的完成,也意味著我的大學(xué)生涯的結(jié)束了。畢業(yè)設(shè)計(jì)期間也把自己多年來(lái)積累的知識(shí)付諸實(shí)踐,雖然很苦很累,但卻過(guò)得非常充實(shí),且收獲頗豐。盡管在設(shè)計(jì)作品過(guò)程中遇到了各種各樣的困難,但每當(dāng)通過(guò)自己獨(dú)立思考、系統(tǒng)分析問(wèn)題之后解決了一個(gè)又一個(gè)難題,也更加堅(jiān)定了自己的信心,也更加明白了大學(xué)不僅僅是學(xué)習(xí)教材上的理論和技術(shù),更重要的是書(shū)本上所學(xué)不到的東西,如獨(dú)立思考、系統(tǒng)分析問(wèn)題解決問(wèn)題的能力,這是無(wú)論各行各業(yè)都是必備的能力,這也將使我以后的人生受益無(wú)窮。我相信大學(xué)四年的收獲會(huì)帶給我以后的人生巨大的幫助。

參考文獻(xiàn)[1]朱晴.Unity3D開(kāi)發(fā)工具在3D游戲開(kāi)發(fā)中的應(yīng)用2019期刊[2]李兵川基于Unity3D游戲開(kāi)發(fā)流程分析[J]..

山東工業(yè)技術(shù).2018(07)[3]張旭,陳玉玲.基于Unity3D的飛機(jī)大作戰(zhàn)開(kāi)發(fā)[J].

數(shù)碼世界.2016(11)[4]汪瑞.基于Unity3D的多通道下服務(wù)器客戶端同步[J].

現(xiàn)代計(jì)算機(jī)(專業(yè)版).2015(24)[5]彭偉國(guó).

Unity游戲開(kāi)發(fā)課程一體化教學(xué)過(guò)程設(shè)計(jì)研究[J].彭偉國(guó).

河南教育(高教).2017(02)[6]袁田琛,胡新榮,趙儉輝.

基于LeapMotion和Unity3D的體感游戲開(kāi)發(fā)與集成[J].電腦知識(shí)與技術(shù).2015(13)[7]欒曉,于洪.智能游戲開(kāi)發(fā)與設(shè)計(jì)課程教學(xué)方法探索[J].

計(jì)算機(jī)教育.2016(10)[8]王平.C語(yǔ)言中數(shù)據(jù)庫(kù)接口的設(shè)計(jì)與實(shí)現(xiàn).《計(jì)算機(jī)科學(xué)與應(yīng)用》.2019(08)[9]朱京瑞.?DB2數(shù)據(jù)庫(kù)物理設(shè)計(jì)與邏輯設(shè)計(jì)的實(shí)踐應(yīng)用].?《數(shù)碼設(shè)計(jì)(下)》.2019(11)[10]閻夢(mèng)真.陳宏利.3D游戲開(kāi)發(fā)技術(shù)設(shè)計(jì)與應(yīng)用.中國(guó)新通信.2016(6)

致謝匆匆時(shí)光大學(xué)生活即將結(jié)束,這一份灌注了精力與汗水的論文便作為畫(huà)上我大學(xué)生涯句號(hào)的墨水吧。2020注定是不尋常的一年,今年年初疫情的大爆發(fā)使得我們國(guó)家處于水生火熱,于是乎我聽(tīng)從學(xué)校的安排停止了正在實(shí)習(xí)的工作。在家的這段時(shí)間我的精力放在畢業(yè)設(shè)計(jì)上,期間我得到過(guò)許多幫助與鼓勵(lì),最終我的畢業(yè)設(shè)計(jì)得以順利完成。首先,我非常感謝我的導(dǎo)師麥日升老師對(duì)我的指導(dǎo)與幫助。第一次認(rèn)識(shí)麥老師是在選修課上,課堂上的麥老師嚴(yán)謹(jǐn)認(rèn)真,很多的學(xué)術(shù)上的難題在他的講解下理解起來(lái)非常輕松,我想這與他的教學(xué)方式有著密不可分的關(guān)系,麥老師注重實(shí)操,記得當(dāng)時(shí)選修課程是制作一款監(jiān)控軟件,麥老師講完的知識(shí)點(diǎn)我們都會(huì)有充足的時(shí)間去測(cè)試代碼,疑惑向他請(qǐng)教總會(huì)耐心的跟我們講解,。在實(shí)習(xí)期間,麥老師時(shí)刻關(guān)心我們的畢業(yè)設(shè)計(jì)進(jìn)度與實(shí)習(xí)近況。同時(shí)我衷心感謝大學(xué)生涯中遇到的老師,給了我莫大的幫助。師者,所以傳道、授業(yè)、解惑也。臨表涕零,不知所言。我感謝朋友和同學(xué)的包容和幫助同樣讓我學(xué)得自在,獲益匪淺:我感謝我的家人。燦燦萱草花,羅生北堂下。南風(fēng)吹其心,搖搖為誰(shuí)吐?欲報(bào)之德,昊天罔極。論文寫到這里,心里惴惴不安。是時(shí)候?yàn)檫^(guò)去寫上一個(gè)句點(diǎn)了,就如這首歌詞里所說(shuō),“今別離,永相依,且行且珍惜。”

怎樣提高電腦系統(tǒng)運(yùn)行速度WindowsXP的啟動(dòng)速度比Windows2000要快30%左右,但相對(duì)于Windows98仍然要慢了不少,不過(guò),我們可以通過(guò)優(yōu)化設(shè)置,來(lái)大大提高WindowsXP的啟動(dòng)速度。加快系統(tǒng)啟動(dòng)速度主要有以下方法:盡量減少系統(tǒng)在啟動(dòng)時(shí)加載的程序與服務(wù);對(duì)磁盤及CPU等硬件進(jìn)行優(yōu)化設(shè)置;修改默認(rèn)設(shè)置,減少啟動(dòng)等待時(shí)間等。這些方法大部分既可減少系統(tǒng)啟動(dòng)的時(shí)間,又可以節(jié)省系統(tǒng)資源,加快電腦運(yùn)行速度。1.加快系統(tǒng)啟動(dòng)速度WindowsXP的啟動(dòng)速度比Windows2000要快30%左右,但相對(duì)于Windows98仍然要慢了不少,不過(guò),我們可以通過(guò)優(yōu)化設(shè)置,來(lái)大大提高WindowsXP的啟動(dòng)速度。加快系統(tǒng)啟動(dòng)速度主要有以下方法:盡量減少系統(tǒng)在啟動(dòng)時(shí)加載的程序與服務(wù);對(duì)磁盤及CPU等硬件進(jìn)行優(yōu)化設(shè)置;修改默認(rèn)設(shè)置,減少啟動(dòng)等待時(shí)間等。這些方法大部分既可減少系統(tǒng)啟動(dòng)的時(shí)間,又可以節(jié)省系統(tǒng)資源,加快電腦運(yùn)行速度。(1)MsconfigWindowsXP的啟動(dòng)速度在系統(tǒng)安裝初期還比較快,但隨著安裝的軟件不斷增多,系統(tǒng)的啟動(dòng)速度會(huì)越來(lái)越慢,這是由于許多軟件把自己加在了啟動(dòng)程序中,這樣開(kāi)機(jī)即需運(yùn)行,大大降低了啟動(dòng)速度,而且也占用了大量的系統(tǒng)資源。對(duì)于這樣一些程序,我們可以通過(guò)系統(tǒng)配置實(shí)用程序Msconfig將它們從啟動(dòng)組中排除出去。選擇“開(kāi)始”菜單中的“運(yùn)行”命令,在“運(yùn)行”對(duì)話框中鍵入“Msconfig”,回車后會(huì)彈出“系統(tǒng)配置實(shí)用程序”對(duì)話框,選擇其中的“啟動(dòng)”選項(xiàng)卡(如圖1),該選項(xiàng)卡中列出了系統(tǒng)啟動(dòng)時(shí)加載的項(xiàng)目及來(lái)源,仔細(xì)查看每個(gè)項(xiàng)目是否需要自動(dòng)加載,否則清除項(xiàng)目前的復(fù)選框,加載的項(xiàng)目越少,啟動(dòng)的速度就越快。設(shè)置完成后需要重新啟動(dòng)方能生效。(2)BootvisBootvis是微軟提供的一個(gè)啟動(dòng)優(yōu)化工具,可提高WindowsXP的啟動(dòng)速度。用BootVis提升WindowsXP的啟動(dòng)速度必須按照正確的順序進(jìn)行操作,否則將不會(huì)起到提速的效果。其正確的操作方法如下:?jiǎn)?dòng)Bootvis,從其主窗口(如圖2)中選擇“工具”菜單下的“選項(xiàng)”命令,在“符號(hào)路徑”處鍵入Bootvis的安裝路徑,如“C:\ProgramFiles\Bootvis”,單擊“保存”退出。從“跟蹤”菜單中選擇“下次引導(dǎo)”命令,會(huì)彈出“重復(fù)跟蹤”對(duì)話框,單擊“確定”按鈕,BootVis將引導(dǎo)WindowsXP重新啟動(dòng),默認(rèn)的重新啟動(dòng)時(shí)間是10秒。系統(tǒng)重新啟動(dòng)后,BootVis自動(dòng)開(kāi)始運(yùn)行并記錄啟動(dòng)進(jìn)程,生成啟動(dòng)進(jìn)程的相關(guān)BIN文件,并把這個(gè)記錄文件自動(dòng)命名為TRACE_BOOT_1_1。程序記錄完啟動(dòng)進(jìn)程文件后,會(huì)重新啟動(dòng)BootVis主界面,在“文件”菜單中選擇剛剛生成的啟動(dòng)進(jìn)程文件“TRACE_BOOT_1_1”。窗口中即會(huì)出現(xiàn)“CPU>使用”、“磁盤I/O”、“磁盤使用”、“驅(qū)動(dòng)程序延遲”等幾項(xiàng)具體圖例供我們分析,不過(guò)最好還是讓BootVis程序來(lái)自動(dòng)進(jìn)行分析:從“跟蹤”菜單中選擇“系統(tǒng)優(yōu)化”命令,程序會(huì)再次重新啟動(dòng)計(jì)算機(jī),并分析啟動(dòng)進(jìn)程文件,從而使計(jì)算機(jī)啟動(dòng)得更快。(3)禁用多余的服務(wù)WindowsXP在啟動(dòng)時(shí)會(huì)有眾多程序或服務(wù)被調(diào)入到系統(tǒng)的內(nèi)存中,它們往往用來(lái)控制Windows系統(tǒng)的硬件設(shè)備、內(nèi)存、文件管理或者其他重要的系統(tǒng)功能。但這些服務(wù)有很多對(duì)我們用途不大甚至根本沒(méi)有用,它們的存在會(huì)占用內(nèi)存和系統(tǒng)資源,所以應(yīng)該將它們禁用,這樣最多可以節(jié)省70MB的內(nèi)存空間,系統(tǒng)速度自然也會(huì)有很大的提高。選擇“開(kāi)始”菜單中的“運(yùn)行”命令,在“運(yùn)行”對(duì)話框鍵入“services.msc”后回車,即可打開(kāi)“服務(wù)”窗口。窗口的服務(wù)列表中列出了系統(tǒng)提供的所有服務(wù)的名稱、狀態(tài)及啟動(dòng)類型。要修改某個(gè)服務(wù),可從列表雙擊它,會(huì)彈出它的屬性對(duì)話框(如圖3),你可從“常規(guī)”選項(xiàng)卡對(duì)服務(wù)進(jìn)行修改,通過(guò)單擊“啟動(dòng)”、“停止”、“暫?!?、“恢復(fù)”四個(gè)按鈕來(lái)修改服務(wù)的狀態(tài),并可從“啟動(dòng)類型”下拉列表中修改啟動(dòng)類型,啟動(dòng)類型有“自動(dòng)”、“手動(dòng)”、“已禁用”三種。如果要禁止某個(gè)服務(wù)在啟動(dòng)自動(dòng)加載,可將其啟動(dòng)類型改為“已禁用”。WindowsXP提供的所有服務(wù)有36個(gè)默認(rèn)是自動(dòng)啟動(dòng)的,實(shí)際上,其中只有8個(gè)是必須保留的(見(jiàn)下表),其他的則可根據(jù)自己的需要進(jìn)行設(shè)置,每種服務(wù)的作用在軟件中有提示。4)修改注冊(cè)表來(lái)減少預(yù)讀取,減少進(jìn)度條等待時(shí)間WindowsXP在啟動(dòng)過(guò)程中會(huì)出現(xiàn)一個(gè)進(jìn)度條,我們可以通過(guò)修改注冊(cè)表,讓進(jìn)度條只跑一圈就進(jìn)入登錄畫(huà)面。選擇“開(kāi)始”菜單中的“運(yùn)行”命令,在“運(yùn)行”對(duì)話框鍵入“regedit”命令后回車,即可啟動(dòng)注冊(cè)表編輯器,在注冊(cè)表中找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters,選擇其下的EnablePrefetcher鍵,把它的鍵值改為“1”即可。(5)減少開(kāi)機(jī)磁盤掃描等待時(shí)間當(dāng)Windows日志中記錄有非正常關(guān)機(jī)、死機(jī)引起的重新啟動(dòng),系統(tǒng)就會(huì)自動(dòng)在啟動(dòng)的時(shí)候運(yùn)行磁盤掃描程序。在默認(rèn)情況下,掃描每個(gè)分區(qū)前會(huì)等待10秒鐘,如果每個(gè)分區(qū)都要等上10秒才能開(kāi)始進(jìn)行掃描,再加上掃描本身需要的時(shí)間,會(huì)耗費(fèi)相當(dāng)長(zhǎng)的時(shí)間才能完成啟動(dòng)過(guò)程。對(duì)于這種情況我們可以設(shè)置取消磁盤掃描的等待時(shí)間,甚至禁止對(duì)某個(gè)磁盤分區(qū)進(jìn)行掃描。選擇“開(kāi)始→運(yùn)行”,在運(yùn)行對(duì)話框中鍵入“chkntfs/t:0”,即可將磁盤掃描等待時(shí)間設(shè)置為0;如果要在計(jì)算機(jī)啟動(dòng)時(shí)忽略掃描某個(gè)分區(qū),比如C盤,可以輸入“chkntfs/xc:”命令;如果要恢復(fù)對(duì)C盤的掃描,可使用“chkntfs/dc:”命令,即可還原所有chkntfs默認(rèn)設(shè)置,除了自動(dòng)文件檢查的倒計(jì)時(shí)之外。2.提高系統(tǒng)運(yùn)行速度提升系統(tǒng)運(yùn)行速度的思路與加快啟動(dòng)的速度類似:盡量?jī)?yōu)化軟硬件設(shè)置,減輕系統(tǒng)負(fù)擔(dān)。以下是一些常用的優(yōu)化手段。(1)設(shè)置處理器二級(jí)緩存容量WindowsXP無(wú)法自動(dòng)檢測(cè)處理器的二級(jí)緩存容量,需要我們自己在注冊(cè)表中手動(dòng)設(shè)置,首先打開(kāi)注冊(cè)表,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”,選擇其下的“SecondLevelDataCache”,根據(jù)自己所用的處理器設(shè)置即可,例如PIIICoppermine/P4Willamette是“256”,AthlonXP是“384”,P4Northwood是“512”。(2)提升系統(tǒng)緩存同樣也是在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”位置,把其下的“LargeSystemCache”鍵值從0改為1,WindowsXP就會(huì)把除了4M之外的系統(tǒng)內(nèi)存全部分配到文件系統(tǒng)緩存中,這樣X(jué)P的內(nèi)核能夠在內(nèi)存中運(yùn)行,大大提高系統(tǒng)速度。通常來(lái)說(shuō),該優(yōu)化會(huì)使系統(tǒng)性能得到相當(dāng)?shù)奶嵘?,但也有可能?huì)使某些應(yīng)用程序性能降低。需要注意的是必須有256M以上的內(nèi)存,激活LargeSystemCache才可起到正面的作用,否則不要輕易改動(dòng)它。(3)改進(jìn)輸入/輸出性能這個(gè)優(yōu)化能夠提升系統(tǒng)進(jìn)行大容量文件傳輸時(shí)的性能,不過(guò)這只對(duì)服務(wù)器用戶才有實(shí)在意義。我們可在中新建一個(gè)DWORD(雙字節(jié)值)鍵值,命名為IOPageLockLimit。一般情況下把數(shù)據(jù)設(shè)置8~16MB之間性能最好,要記住這個(gè)值是用字節(jié)來(lái)計(jì)算的,例如你要分配10MB的話,就是10×?1024×1024,也就是10485760。這里的優(yōu)化也需要你的機(jī)器擁有大于256M的內(nèi)存。(4)禁用內(nèi)存頁(yè)面調(diào)度在正常情況下,XP會(huì)把內(nèi)存中的片斷寫入硬盤,我們可以阻止它這樣做,讓數(shù)據(jù)保留在內(nèi)存中,從而提升系統(tǒng)性能。在注冊(cè)表中找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”下的“DisablePagingExecutive”鍵,把它的值從0改為1即可禁止內(nèi)存頁(yè)面調(diào)度了。(5)關(guān)閉自動(dòng)重新啟動(dòng)功能當(dāng)WindowsXP遇到嚴(yán)重問(wèn)題時(shí)便會(huì)突然重新開(kāi)機(jī),可從注冊(cè)表將此功能取消。打開(kāi)注冊(cè)表編輯器,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\”將AutoReboot鍵的Dword值更改為0,重新啟動(dòng)后設(shè)置即可生效。(6)改變視覺(jué)效果WindowsXP在默認(rèn)情況下啟用了幾乎所有的視覺(jué)效果,如淡入淡出、在菜單下顯示陰影。這些視覺(jué)效果雖然漂亮,但對(duì)系統(tǒng)性能會(huì)有一定的影響,有時(shí)甚至造成應(yīng)用軟件在運(yùn)行時(shí)出現(xiàn)停頓。一般情況下建議少用或者取消這些視覺(jué)效果。選擇桌面上“我的電腦”圖標(biāo),單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”命令,打開(kāi)“系統(tǒng)屬性”對(duì)話框。選擇“高級(jí)”選項(xiàng)卡,在其中的“性能”欄中單擊“設(shè)置”按鈕,會(huì)彈出“性能選項(xiàng)”對(duì)話框(如圖4),可選擇“調(diào)整為最佳性能”單選框來(lái)關(guān)閉所有的視覺(jué)效果,也可選擇“自定義”然后選擇自己需要的視覺(jué)效果。(7)合理設(shè)置頁(yè)面虛擬內(nèi)存同樣也是在“性能選項(xiàng)”對(duì)話框中,選擇“高級(jí)”選項(xiàng)卡,在其中的“虛擬內(nèi)存”欄中單擊“更改”按鈕,接下來(lái)選擇虛擬內(nèi)存為“自定義大小”,然后設(shè)置其數(shù)值。一般情況下,把虛擬設(shè)為不小于256M,不大于382M比較合適,而且最大值和最小值最好一樣。(8)修改外觀方案WindowsXP默認(rèn)的外觀方案雖然漂亮,但對(duì)系統(tǒng)資源的占用也多,可將其改為經(jīng)典外觀以獲得更好的性能。在桌面空白位置單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“屬性”命令,會(huì)打開(kāi)“顯示屬性”對(duì)話框,在“主題”選項(xiàng)卡選擇主題為“Windows經(jīng)典”,即可將外觀修改為更為經(jīng)濟(jì)的Windows經(jīng)典外觀。(9)取消XP對(duì)ZIP支持WindowsXP在默認(rèn)情況下打開(kāi)了對(duì)zip文件支持,這要占用一定的系統(tǒng)資源,可選擇“開(kāi)始→運(yùn)行”,在“運(yùn)行”對(duì)話框中鍵入“regsvr32/uzipfldr.dll”,回車確認(rèn)即可取消XP對(duì)ZIP解壓縮的支持,從而節(jié)省系統(tǒng)資源。(10)關(guān)閉Dr.WatsonDr.Watson是WindowsXP的一個(gè)崩潰分析工具,它會(huì)在應(yīng)用程序崩潰的時(shí)候自動(dòng)彈出,并且在默認(rèn)情況下,它會(huì)將與出錯(cuò)有關(guān)的內(nèi)存保存為DUMP文件以供程序員分析。不過(guò),記錄DUMP文件對(duì)普通用戶則毫無(wú)幫助,反而會(huì)帶來(lái)很大的不便:由于Dr.Watson在應(yīng)用程序崩潰時(shí)會(huì)對(duì)內(nèi)存進(jìn)行DUMP記錄,將出現(xiàn)長(zhǎng)時(shí)間硬盤讀寫操作,要很長(zhǎng)一斷時(shí)間程序才能關(guān)閉,并且DUMP文件還會(huì)占用大量磁盤空間。要關(guān)閉Dr.Watson可打開(kāi)注冊(cè)表編輯器,找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug”分支,雙擊其下的Auto鍵值名稱,將其“數(shù)值數(shù)據(jù)”改為0,最后按F5刷新使設(shè)置生效,這樣就取消它的運(yùn)行了。同樣,我們可以把所有具備調(diào)試功能的選項(xiàng)取消,比如藍(lán)屏?xí)r出現(xiàn)的memory.dmp,可在“系統(tǒng)屬性”對(duì)話框中選擇“高級(jí)”選項(xiàng)卡,單擊“啟動(dòng)和故障恢復(fù)”欄中的“設(shè)置”按鈕,并在彈出的“啟動(dòng)和故障恢復(fù)”對(duì)話框中選擇“寫入調(diào)試信息”為“無(wú)”(如圖5)。(11)啟動(dòng)硬盤/光驅(qū)DMA模式打開(kāi)“系統(tǒng)屬性”對(duì)話框,選擇“硬件”選擇卡中的“設(shè)備管理器”按鈕,打開(kāi)“設(shè)備管理器”窗口,在設(shè)備列表中選擇“IDEATA/ATAPI控制器”,雙擊“主要IDE通道”或“次要IDE通過(guò)”,在其屬性對(duì)話框的“高級(jí)設(shè)置”選項(xiàng)卡中檢查DMA模式是否已啟動(dòng),一般來(lái)說(shuō)如果設(shè)備支持,系統(tǒng)就會(huì)自動(dòng)打開(kāi)DMA功能,如果沒(méi)有打開(kāi)可將“傳輸模式”設(shè)為“DMA(若可用)”。(12)關(guān)掉不用的設(shè)備WindowsXP總是盡可能為電腦的所有設(shè)備安裝驅(qū)動(dòng)程序并進(jìn)行管理,這不僅會(huì)減慢系統(tǒng)啟動(dòng)的速度,同時(shí)也造成了系統(tǒng)資源的大量占用。針對(duì)這一情況,你可在設(shè)備管理器中,將PCMCIA卡、調(diào)制解調(diào)器、紅外線設(shè)備、打印機(jī)端口(LPT1)或者串口(COM1)等不常用的設(shè)備停用,方法是雙擊要停用的設(shè)備,在其屬性對(duì)話框中的“常規(guī)”選項(xiàng)卡中選擇“不要使用這個(gè)設(shè)備(停用)”。在重新啟動(dòng)設(shè)置即可生效,當(dāng)需要使用這些設(shè)備時(shí)再?gòu)脑O(shè)備管理器中啟用它們。(13)關(guān)閉錯(cuò)誤報(bào)告當(dāng)應(yīng)用程序出錯(cuò)時(shí),會(huì)彈出發(fā)送錯(cuò)誤報(bào)告的窗口,其實(shí)這樣的錯(cuò)誤報(bào)告對(duì)普通用戶而言幾乎沒(méi)有任何意義,關(guān)閉它是明智的選擇。在“系統(tǒng)屬性”對(duì)話框中選擇“高級(jí)”選項(xiàng)卡,單擊“錯(cuò)誤報(bào)告”按鈕,在彈出的“錯(cuò)誤匯報(bào)”對(duì)話框中,選擇“禁用錯(cuò)誤匯報(bào)”單選項(xiàng),最后單擊“確定”即可。另外我們也可以從組策略中關(guān)閉錯(cuò)誤報(bào)告:從“運(yùn)行”中鍵入“gpedit.msc”,運(yùn)行“組策略編輯器”,展開(kāi)“計(jì)算機(jī)配置→管理模板→系統(tǒng)→錯(cuò)誤報(bào)告功能”,雙擊右邊設(shè)置欄中的“報(bào)告錯(cuò)誤”,在彈出的“屬性”對(duì)話框中選擇“已禁用”單選框即可將“報(bào)告錯(cuò)誤”禁用。(14)關(guān)閉自動(dòng)更新“自動(dòng)更新”功能對(duì)許多WindowsXP用戶而言并不是必需的,可將其關(guān)閉以節(jié)省系統(tǒng)資源。在“我的電腦”上單擊鼠標(biāo)右鍵,從快捷菜單中選擇“屬性”命令,選擇“系統(tǒng)屬性”對(duì)話框中的“自動(dòng)更新”選項(xiàng)卡,勾選“關(guān)閉自動(dòng)更新,我將手動(dòng)更新計(jì)算機(jī)”單選框,單擊“確定”按鈕即可關(guān)閉自動(dòng)更新功能。如果在“服務(wù)”已經(jīng)將“AutomaticUpdates”服務(wù)關(guān)閉,“系統(tǒng)屬性”對(duì)話框中的“自動(dòng)更新”選項(xiàng)卡就不能進(jìn)行任何設(shè)置了。(15)去掉菜單延遲去掉菜單彈出時(shí)的延遲,可以在一定程度上加快XP。要修改的鍵值位置在“HKEY_CURRENT_USER\ControlPanel\Desktop”。修改其下的“MenuShowDelay”鍵,把默認(rèn)的400修改為0,按F5刷新注冊(cè)表即可生效。(16)清除預(yù)讀文件WindowsXP的預(yù)讀設(shè)置雖然可以提高系統(tǒng)速度,但是使用一段時(shí)間后,預(yù)讀文件夾里的文件數(shù)量會(huì)變得相當(dāng)龐大,導(dǎo)致系統(tǒng)搜索花費(fèi)的時(shí)間變長(zhǎng)。而且有些應(yīng)用程序會(huì)產(chǎn)生死鏈接文件,更加重了系統(tǒng)搜索的負(fù)擔(dān)。所以,應(yīng)該定期刪除這些預(yù)讀文件。預(yù)計(jì)文件存放在WindowsXP系統(tǒng)文件夾的Prefetch文件夾中,該文件夾下的所有文件均可刪除。(17)關(guān)閉自動(dòng)播放功能在WindowsXP中,當(dāng)往光驅(qū)中放入光盤或?qū)SB硬盤接上電腦時(shí),系統(tǒng)都會(huì)自動(dòng)將光驅(qū)或USB硬盤掃描一遍,同時(shí)提示你是否播放里面的圖片、視頻、音樂(lè)等文件,如果是擁有多個(gè)分區(qū)的大容量的USB硬盤,掃描會(huì)耗費(fèi)很長(zhǎng)的時(shí)間,而且你得多次手動(dòng)關(guān)閉提示窗口,非常麻煩。這種情況下我們可以將WindowsXP的自動(dòng)播放功能關(guān)閉。運(yùn)行“組策略”程序。在組策略窗口左邊欄中,打開(kāi)“計(jì)算機(jī)配置”,選擇“管理模板”下的“系統(tǒng)”,然后在右邊的配置欄中找到“關(guān)閉自動(dòng)播放”并雙擊它,會(huì)彈出“關(guān)閉自動(dòng)播放屬性”對(duì)話框。在其中“設(shè)置”選項(xiàng)卡中選擇“已啟用”,“關(guān)閉自動(dòng)播放”下拉列表中選擇“所有驅(qū)動(dòng)器”(如圖6)。這樣以后就不用擔(dān)心WindowsXP的“自動(dòng)播放”功能帶來(lái)的麻煩了。如果你只是想禁止系統(tǒng)掃描某個(gè)驅(qū)動(dòng)器(如USB硬盤)上的文件,可采用下面的方法。先連上你的USB硬盤,讓系統(tǒng)將它識(shí)別出來(lái)。然后打開(kāi)“我的電腦”,選擇USB硬盤上的某個(gè)分區(qū),按鼠標(biāo)右鍵,會(huì)彈出磁盤屬性窗口,選取“自動(dòng)播放”選項(xiàng)卡,將所有內(nèi)容的類型都選擇為不執(zhí)行操作。如果USB硬盤有多個(gè)分區(qū),對(duì)所有分區(qū)都進(jìn)行同樣的操作,這樣當(dāng)你將USB驅(qū)動(dòng)器拔掉再重新接上時(shí),系統(tǒng)會(huì)將USB硬盤識(shí)別出來(lái),而不會(huì)反復(fù)問(wèn)你是否播放USB硬盤中的文件了。3.加快關(guān)機(jī)速度WindowsXP的關(guān)機(jī)速度要慢于啟動(dòng)速度,特別有些任務(wù)還需要手工結(jié)束,更加延緩了關(guān)機(jī)速度。因此,要加快關(guān)機(jī)速度,首先要開(kāi)啟WindowsXP的自動(dòng)結(jié)束任務(wù)功能。具體步驟是:從注冊(cè)表中找到“HKEY_CURRENT_USER\ControlPanel\Desktop”,把“AutoEndTasks”的鍵值設(shè)置為1即可。然后再修改“HungAppTimeout”為“4000(或更小)”(預(yù)設(shè)為5000),該鍵值同樣也在“HKEY_CURRENT_USER\ControlPanel\Desktop”下;最后一步再找到“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\”,同樣把WaitToKillServiceTimeout設(shè)置為“4000”;通過(guò)這樣設(shè)置后的關(guān)機(jī)速度明顯要加快了。夠全面吧~~◆二、硬件優(yōu)化設(shè)置◆1、關(guān)掉不用的設(shè)備

在設(shè)備管理器中,將PCMCIA卡、調(diào)制解調(diào)器、紅外線設(shè)備、打印機(jī)端口(LPT1)或者串口(COM1)等不常用的設(shè)備停用,在要停用設(shè)備屬性對(duì)話框中的“常規(guī)”選項(xiàng)卡中選擇“不要使用這個(gè)設(shè)備(停用)”。當(dāng)需要使用這些設(shè)備時(shí)再?gòu)脑O(shè)備管理器中啟用它們。◆2、內(nèi)存性能優(yōu)化

WindowsXP中有幾個(gè)選項(xiàng)可以優(yōu)化內(nèi)存性能,它們?nèi)荚谧?cè)表下面位置:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession

ManagerMemory

Management

1)禁用內(nèi)存頁(yè)面調(diào)度(Paging

Executive)

XP會(huì)把內(nèi)存中的片斷寫入硬盤,我們可以阻止它這樣做,讓數(shù)據(jù)保留在內(nèi)存中,從而提升系統(tǒng)性能。256M以上內(nèi)存才使用這個(gè)設(shè)置。把“DisablePagingExecutive”的值從0改為1就可以禁止內(nèi)存頁(yè)面調(diào)度了。

2)提升系統(tǒng)緩存

必須有256M以上的內(nèi)存,才激活它。把LargeSystemCache鍵值從0改為1,一般來(lái)說(shuō),這項(xiàng)優(yōu)化會(huì)使系統(tǒng)性能得到相當(dāng)?shù)奶嵘灿锌赡軙?huì)使某些應(yīng)用程序性能降低。

3)輸入/輸出性能

內(nèi)存大于256M才更改這里的值,這個(gè)優(yōu)化只對(duì)server(服務(wù)器)用戶才有實(shí)在意義,它能夠提升系統(tǒng)進(jìn)行大容量文件傳輸時(shí)的性能。建一個(gè)DWORD(雙字節(jié)值)鍵值,命名為IOPageLockLimit,數(shù)值設(shè)8M-16M字節(jié)之間性能最好,具體設(shè)什么值,可試試哪個(gè)值可獲得最佳性能。這個(gè)值是用字節(jié)來(lái)計(jì)算的,比如你要分配12M,就是12×1024×1024,也就是12582912?!?、啟動(dòng)硬盤/光驅(qū)DMA模式

“系統(tǒng)屬性”-“硬件”-“設(shè)備管理器”,在設(shè)備列表中選擇“IDE

ATA/ATAPI控制器”,雙擊“主要

IDE

通道”或“次要

IDE

通道”,在其屬性對(duì)話框的“高級(jí)設(shè)置”選項(xiàng)卡中檢查DMA模式是否已啟動(dòng),一般來(lái)說(shuō)如果設(shè)備支持,系統(tǒng)就

溫馨提示

  • 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)論