999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Unity3D對游戲中的任務 成就系統和存儲系統的開發

2021-09-14 23:31:47林煥材歐陽莉張允瀠王耀凱趙崇浩
電腦知識與技術 2021年22期

林煥材 歐陽莉 張允瀠 王耀凱 趙崇浩

摘要:任務、成就以及存檔讀檔等模塊,在游戲中總是不可缺少。對于游戲而言,這不僅僅是必要元素,同時也是游戲的加分項。該文通過以Unity3D為開發平臺,以開發的《通通站》項目為實例,從程序開發者的視角闡述了在游戲的程序設計中對于任務、成就、存儲系統的理解,使開發者在制作游戲系統時有明確的設計思路,研究也表明開發游戲時,提前思考游戲系統間聯系對制作良好的系統是很重要的。

關鍵詞:Unity3D;存儲系統;任務系統;成就系統

在完整游戲制作中,幾乎不可避免地需要在游戲中加入任務系統,成就系統和保存進度的存儲系統。可以說成就為玩家提供了奮斗目標,而任務為玩家提供了完成目標的途徑,而這個過程就需要存儲系統進行管理數據。

本文以Unity3D為開發平臺,以實踐的形式分析成就、任務、存儲系統的構建和聯系。Unity3D是一款熱門的游戲引擎,據Unity官方發布,每個月有28億活躍的終端用戶接觸或使用Unity解決方案制作或運營內容[1]。

實踐項目《通通站》是一款基于企業App開發的嵌入式項目,該項目以地鐵文化為背景,以養成寵物(通通)為主要玩法,通過完成任務、游玩小游戲、社交、完成成就等方式獲取培養寵物的資源。

1分析系統

1.1任務系統

基于實踐項目對任務系統的基本屬性進行分析,其中包括任務名、任務完成條件、任務進度、任務獎勵、任務開放等級等屬性。其中任務名、任務進度、是否領取過獎勵等屬性,是任務系統與存儲系統中是最常交互的數據。在任務UI上,需要提前準備Unity的UI顯示組件,包括獎勵圖片(Image)和獎勵個數(Text)、任務進度(Text)、任務的名字和任務詳情(Text)。任務系統數據的更新,包括任務屬性的進度、任務是否完成、是否領取獎勵和任務UI的更新等數據。而這些數據的更新和管理需要一個完整的設計思路和運行邏輯,良好的程序思路設計可以有效地提高程序的運行效率。當玩家進入《通通站》任務界面時。簡單的運行邏輯如圖1:

1.2成就系統

成就系統與任務系統在程序思路設計是類似的,在屬性方面幾乎有任務系統的全部屬性,在更新數據上邏輯和任務系統是一樣的,區別的設計主要在于UI排版、美術和交互上,在實踐項目中,成就的交互設計和任務相比,成就交互設計難度更大,其區別在于交互細節,成就的UI設計是在任務系統UI的基礎上,增添了一個新的UI面板,而所有的任務是共用這個UI面板的,面板的數據包括任務名稱、完成條件、獲取的獎勵以及成就的具體信息。當玩家點擊成就列表中某一個成就時,會在原來的UI面板上添加新的交互UI,同時根據所點擊的成就對該共用UI面板進行數據更新,UI上顯示的詳細的成就信息和獲得獎勵的記錄,對玩家有一定的激勵作用,良好的成就系統能調動玩家的積極性,激發玩家內心的游戲動機[2]。

1.3存儲系統

存儲系統的開發,是聯系多個系統、不僅有任務、成就等系統、背包的物品、也包括游戲玩家屬性等級、名字、經驗等。在《通通站》的項目中,保存游戲數據方式,選擇了以保存Json文件的形式。在存儲數據的結構上,不同的系統和存儲系統交互的屬性是不同的,所以需要針對不同的系統構建不同的數據結構(類),以方便保存和解析數據。在成就,任務系統與存儲系統交互,其實存在著一個臨行保存物品的系統,就是背包系統。在完成任務后獲得獎勵,儲存在背包系統里,背包系統以一個C#的字典進行存儲物品信息的,字典值類型使用C#列表類型,這樣的設計可以提高查詢的效率的同時,可確保多個相同的物品可以保持獨立存儲數據。背包物品均由一個(程序)父類派生出來,在背包中可通過該基類進行管理。

1.4成就,任務和存儲系統的關系

對于存儲系統而言不僅要將數據轉化為Json文件,同時需要和其他系統構建聯系起來,以成就和任務系統為例,存儲系統只需存儲必要信息,所以在保存數據時,需要存儲系統根據成就,任務的腳本數據,對系統的屬性進行區分,只留下必要信息,以實踐項目的任務系統的存儲數據為例:必要信息有任務ID,任務進度,是否完成過任務,任務是否領取過獎勵等數據。

三個系統的聯系不僅僅是在數據的傳輸上,存儲系統也對其他兩個系統的數據進一步管理,同時存儲的數據,也需要任務,成就系統為構建保存的數據結構提供參考。

2制作存儲系統的思考

2.1什么是Json

Json全稱是(JavaScript Onject Notation),這是一種輕量級的數據交換格式。文件層次結構比較清晰,具有可讀性,可在源文件中進行修改,同時對于計算機保存文件和數據的解析都比較友好。Json文件是一款完全獨立于語言的文本格式,但由于使用了類似于C語言家族的習慣,使Json成為了比較理想的數據交換語言[3]。Json文件的結構和寫法是以“{}”花括號對應程序的對象。“[]”方括號對應數組,“""”雙引號對應程序里的變量名和值(Key和Value)。其寫法如圖2。

2.2 Json的優缺點

用于存儲系統比較熱門的技術分別有數據二進制序列化,XML和Json。其中對于電腦最友好的存儲方式是二進制序列化,計算機對數據的處理最終是對二進制序列化數據的處理,這意味著數據的可靠性,穩定性和效率是最好,但相對的以二進制序列化保存的文件是難以解讀,或修改的。

另一個選擇是XML,其優點是格式統一,不同系統可共享數據,系統的兼容性高,文件具備可讀性,并且可進行修改。

但這二者相對Json文件,可讀性和可進行修改有著不可逾越的差距,二進制化難以解讀和修改,而XML由于需要考慮父節點和子節點的復雜關系。而Json很好的管理了這些數據,Json和XML在保存相同數據的情況下,從文件數據的復雜度和內存大小分析,Json文件數據結構更清晰,存儲空間更小,有研究表明當Json,XML傳輸相同的數據,XML消耗的時間更長[4]。這就意味著在傳輸速度和編寫解析程序上,最優先選擇的保存方式為Json文件,綜合評價:在保存的數據需要進一步操作時,Json文件的保存方式是個很好的選擇。

主站蜘蛛池模板: 欧美一区国产| 四虎综合网| a级毛片网| 国产精品免费入口视频| 1024国产在线| 国产无码精品在线| 亚洲中文字幕无码爆乳| 午夜视频免费试看| 国产黄网永久免费| 亚洲伦理一区二区| 成人午夜网址| 最新日韩AV网址在线观看| 国产精品不卡片视频免费观看| 欧美亚洲国产视频| 亚洲第一成年人网站| 日韩A∨精品日韩精品无码| 亚洲中文字幕日产无码2021| 国产在线观看成人91| 91久久国产热精品免费| 国产精选小视频在线观看| 精品人妻系列无码专区久久| 日韩精品高清自在线| 午夜久久影院| 国产精品区网红主播在线观看| 欧美国产视频| 国产综合亚洲欧洲区精品无码| 亚洲91精品视频| 亚洲男人的天堂久久香蕉网| 久久精品娱乐亚洲领先| 免费毛片视频| 一级香蕉人体视频| 亚洲中文制服丝袜欧美精品| 成年A级毛片| 在线观看国产小视频| 亚洲 欧美 偷自乱 图片| 色偷偷男人的天堂亚洲av| 伊人久久大香线蕉影院| 亚洲Av激情网五月天| 国内精品久久人妻无码大片高| 国产综合色在线视频播放线视| 五月丁香伊人啪啪手机免费观看| 欧美三級片黃色三級片黃色1| 久久精品人人做人人爽电影蜜月| 丝袜无码一区二区三区| 国产精品男人的天堂| 成年片色大黄全免费网站久久| 成人午夜视频免费看欧美| 99成人在线观看| 亚洲日韩Av中文字幕无码| 毛片免费在线视频| 国产亚洲精品在天天在线麻豆 | 尤物国产在线| 国产国拍精品视频免费看| 在线免费观看AV| 青青操视频免费观看| 国产黑丝视频在线观看| 中国国产高清免费AV片| 色噜噜综合网| 亚洲成综合人影院在院播放| 欧美第一页在线| 91久久偷偷做嫩草影院精品| 国产在线精彩视频论坛| 久久精品亚洲专区| 国产极品嫩模在线观看91| 国产91在线|日本| 国产麻豆福利av在线播放| 怡春院欧美一区二区三区免费| 99re视频在线| 国产又粗又猛又爽视频| 久久黄色免费电影| 人人91人人澡人人妻人人爽 | 国产永久免费视频m3u8| 成人午夜福利视频| 香蕉色综合| 天天综合亚洲| 无遮挡国产高潮视频免费观看| 国产成a人片在线播放| 巨熟乳波霸若妻中文观看免费| 九九香蕉视频| 亚洲无码免费黄色网址| 国产网站免费观看| 国产精品真实对白精彩久久 |