unity addressable判断是否加载成功,定义加载顺序
问题描述
因为addressable的加载顺序是随机的,一直没想到怎么定义加载顺序,看到别人写的代码突然有的想法,比较笨拙简单,思路就是通过判断需要先加载的ab包是否加载成功,再决定是否加载下一个需要加载的ab包
解决方案:
参考代码思路:
//音效的加载
AssetBundle bundle = AssetBundle.LoadFromFile(path);//加载AssetBundle资源
AudioClip clip = bundle .GetAsset<AudioClip>(); //加载音效文件
if(clip.LoadAudioData()) //如果ab包加载成功
Debug.Log("音频已成功加载");//这里可以继续加载下一个需要加载的ab包
else{
DebugLogError("音效加载失败");
return;
}
//将clip赋给AudioSource使用播放...
//音效的卸载
//当clip音效被AudioSource播放完成后
if(clip.UnloadAudioData())
Debug.Log("音效卸载成功");
else
Debug.LogError("音效卸载失败");