[英]How to switch content access from local to remote group (and vice versa) seamlessly?
問題 1:我是可尋址的新手。 我的在線內容運行良好,但是當我嘗試在本地進行測試以節省時間時,出現了一些錯誤.. 無法在不破壞某些內容的情況下將可尋址從“myCDN”組移動到“myLocal”組。 我最終出現依賴性或其他各種錯誤。
據我所知,我所要做的就是從“myCDN”中抓取所有可尋址的內容,將它們拖放到“myLocal”中,然后點擊播放。 我想我錯過了一個或多個步驟?
在此之前,我應該運行分析工具並修復依賴項錯誤嗎?
問題2:我的群捆綁模式設置為:按標簽打包。 是否可以只構建一個標簽(我做了一些更改的那個)? 如果沒有,(假設標記資產之間沒有依賴關系)我可以重新上傳一個標簽包並仍然期望它可以工作嗎? 我想目錄也應該重新上傳?
目前,在內容略有更改后,我可以獲得可尋址工作的唯一方法是點擊“為內容更新而構建”,然后重新上傳所有包..我認為這不是為了這樣工作,對嗎?
修復了它,它與組或我上面描述的任何內容無關。 我所做的一切都是對的,我知道這應該很容易,所以它是另一回事:
// 假設我有 500 個精靈位置,LoadResourceLocationsAsync 將每個位置加載兩次,1 次用於精靈,第二次用於紋理。 由於我對該方法不太熟悉,因此我采用了一個快速但糟糕的解決方案,即使用模運算符來獲取二分之一。 那個“糟糕”的解決方案是有效的,但是每當我從遠程切換到本地時,位置都會出現錯誤......所以基本上它試圖獲取紋理而不是精靈(並且錯誤消息確實具有誤導性).. . 為什么會這樣,我不知道。 但是通過使用屬性 ResourceType 過濾掉紋理,想出了更安全的方法。
static async Task LoadAllAnimSprite() {
AnimManager.spriteAnimAsset = new List<Sprite>();
var location = await Addressables.LoadResourceLocationsAsync(AnimManager.loadedLocations.animSprites_label.labelString).Task;
var location2 = location.Where(loc => loc.ResourceType ==
typeof(Sprite)).ToList();
var ttt = 0;
foreach (var loc in location2)
{
// if (ttt % 2 == 0) { <--- here is a really bad idea!
var obj = Addressables.LoadAssetAsync<Sprite>(loc);
await obj.Task;
AnimManager.spriteAnimAsset.Add(obj.Result );
// }
// ttt++;
}
StartScreen.WaitForAnimDataInitialization_done = true;
}
不管怎么說,還是要謝謝你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.