基於Unity3D(UGUI)的揹包系統(裝備系統,鍛造系統,購買系統)

好了,開始進入正題!
先給出部分效果圖:


揹包是用來存放角色在遊戲中獲得的物品,箱子是用來臨時保存物品的(只有保存功能),角色面板是用來模擬給角色裝備物品的,武器,服飾等,最右邊紅色字體的面板是用來顯示當前裝備下角色的各個屬性總和

 

商販面板功能主要是用來給玩家購買物品和賣掉自己物品,另外看到左邊黑色的那塊(裏面的字體五顏六色的),用來顯示每個物品的屬性。還有右上角的硬幣圖樣用來顯示玩家當前擁有的錢幣,玩家向商販買裝備時錢幣減少,把揹包裏的裝備賣給商販時錢幣增加,只是買賣的價格不同

鍛造面板用來給玩家提供鍛造功能,玩家可以使用揹包裏的符合鍛造需求的物品鍛造更厲害物品
鍛造面板用來給玩家提供鍛造功能,玩家可以使用揹包裏的符合鍛造需求的物品鍛造更厲害物品。具體的鍛造需求先不作介紹,後續介紹。

還有最重要的UML類圖,看懂這個基本就大概地搞定這個所謂的裝備系統了:
這裏寫圖片描述


這裏先讓大家理解個大概思路,從全局掌握開始:先看UML圖的左邊,左邊並沒有涉及到U3d裏UI的各種變換邏輯,只是用來單純的處理物品數據的存儲和獲取之類的。每個裝備物品Item都有自己的屬性(id,name什麼的),然後物品類左邊的是兩個枚舉,用來補充物品的類型和品質。接着,由物品類根據物品類型枚舉衍生出具有特殊功能的四個子類:消耗品(如血瓶啊,藍瓶等),裝備類(主要是玩家裝扮用),武器就不說了,材料類(用來鍛造更好的物品)。補充:裝備類也有不同的類型,就好比上衣只能穿在上身,褲子只能在下身,所以也用一個枚舉來加以區分。武器也同樣分爲主手武器(一般是右手拿着)和副手武器(左手)。
接下來,看UNL圖的右邊部分:右邊就是用來處理涉及到U3d裏UI的各種變換邏輯了。首先,每一個物品的各種屬性信息都放在一個Json裏(如果不懂Json自己谷歌或百度哈,這裏不再贅述!),由物品管理器負責解析,當然物品管理器也負責一些提示框(ToolTip)(也就是上面介紹的五顏六色字體的那個黑塊)面板的顯示和隱藏。Inventory(存貨)類,是每個裝備面板的基類,爲什麼這樣設計呢,因爲下面的每一個功能面板(子類),都有很多相同的方法,所以在基類Inventory中就先寫好,這樣就算子類增加功能重寫父類方法也完全可以。inventory下面的每一個子類上面圖中都已經介紹過,不再贅述。Slot物品槽類,對應圖中存放每個物品的地方,主要用來實現存儲物品功能,注意,它也是一個基類,因爲每一個面板的物品槽的功能會有差異(後續介紹)。ItemUI類,見名之意,是物品在UI中的實際體現,只有兩個屬性,物品和物品的數量,如上面圖中的物品顯示UI。
總體感覺有些MVC的影子,M:用來存儲物品信息的Json文件和UMl圖中左邊的各種類,V:在Unity中的具體UI顯示,C:UML圖中右邊管理類。 好了,終於把全局大概給總結性地介紹完了,細節後續更新哈。有疑問歡迎交流。:-D
---------------------  
作者:Say__Yes  
來源:CSDN  
原文:https://blog.csdn.net/Say__Yes/article/details/71910984  
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章