前提条件
- unity只能用2019.4.35,必须得转成此版本,不然上传不上去,unity版本不能从unityHub里面下载,必须单独下载编辑器和SDK、JDK
小包化
小包化的地址:https://bytedance.feishu.cn/wiki/wikcnqej9ztx6JKYJ7qTh0ZkF8f#sDjpov
小包化就类似于于把ab包放在服务器或者CDN上,需要用的时候进行拉取,怎么新建分组和配置服务器详见上面的小包化链接,小包化的加载如下。
- 加载一批音频进行赋值(sound1为分组的label)
AsyncOperationHandle<IList<AudioClip>> array;
public async void Load()
{
array = ResLoader.LoadAssetsAsync<AudioClip>("sound1");
// 等待
await array.Task;
// 判断是否成功、加载结果处理方法,与 LoadAssetAsync 相同 ...
// 区别:返回的 handle.Result 是 IList<T>
var results = array.Result;
for (int i = 0; i < array.Result.Count; i++)
{
audioClipDic.Add(array.Result[i].name, array.Result[i]);
}
}
- 加载场景(_sceneName为分组的label)
async void LoadSceneCoroutineAA(string _sceneName, Action _loadCompleteEvent, Action _completeEvent = null) { bar.fillAmount = 0;//进度条的填充 bool isSuccess = false; bool loop = true; while (!isSuccess && loop) { ResLoader.DownloadAsync("TitleScene"); var handle = ResLoader.LoadSceneAsync(_sceneName.ToString(), LoadSceneMode.Single); bar.fillAmount = handle.PercentComplete;//进度条的填充 this.loadingPercentText.text = ((int)(handle.PercentComplete * 100f)).ToString() + "%";//进度条的文字显示 StartCoroutine(PayHuiDiao(handle)); await handle.Task; isSuccess = handle.Status == AsyncOperationStatus.Succeeded; if (!isSuccess) { // load error Debug.LogWarning($"LoadScene - fail! \"{_sceneName.ToString()}\""); // 错误处理、弱网兜底重试: // 可选a. 可以做循环重试的间隔 delay in mill