有了master的學習經驗,鬥地主的學習將不會太多精細化,更多細節大家可以自行查看,本系列文章旨在幫助大家理解整個開發流程
資源劃分策略
先來到Asset下的Bundles文件夾,這裏是遊戲內用到的所有的資源,都被打成ab包,正式發佈時將會刪除,從資源服務器下載文件
Independent
- Code 包含熱更新模塊的dll文件
- Config 包含客戶端的配置文件(連接配置,所用到的玩家,敵人等數據結構)
UI
- Landlords/Altas 包含遊戲內用到的所有圖集
- Landlords/Content 玩家正式開局遊戲內的個人信息
- Landlords/HandCard 玩家手牌UI
- Landlords/LandlordsEnd 遊戲結束界面
- Landlords/Interaction 玩家的正式遊戲內操作界面(出牌,不要,搶地主,不搶等)
- Landlords/LandlordsLobby 遊戲大廳
- Landlords/LandlordsLogin 登錄界面
- Landlords/LandlordsRoom 正式遊戲界面UI
- Landlords/PlayerCard 玩家的單個手牌
- UILoddy/UILogin 沒有用到的master的版本資源
Unit 沒有用到的小骷髏資源
資源打包策略
每個資源都被劃分在不用的xxx.unity3d文件裏,可使用ET提供的工具也可以自己手動編寫,
如果使用ET提供的tag工具,需要自己制定ab策略,適宜的的ab粒度對於提升項目性能有極大的幫助。
配置好之後選擇打包工具
按需求進行打包即可
資源的下載
ET提供了一個資源服務器來供我們方便測試,那麼我們正式上線的項目該怎麼配置呢
這裏做個示例
先下載HFS,這能幫助我們極快的建立一個資源服務器
打開之後將這個地址放到全局配置裏
按下圖進行打包,打好的ab包將輸出在Release下面
這裏只有一個PC
記住這個位置
選中剛剛的PC文件夾,添加
然後運行打包好的exe,成功
資源的加載使用步驟
加載使用資源的時候寫類似的如下代碼
//加載AB包
ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent<ResourcesComponent>();
resourcesComponent.LoadBundle($"{type}.unity3d");
//加載登錄界面預設並生成實例
GameObject bundleGameObject = (GameObject)resourcesComponent.GetAsset($"{type}.unity3d", $"{type}");
GameObject login = UnityEngine.Object.Instantiate(bundleGameObject);