Unity addressable は読み込みが成功したかどうかを判断し、読み込みシーケンスを定義します

問題の説明

addressable のロード順序はランダムであるため、ロード順序をどのように定義するかを考えたことはありませんでしたが、他の人が書いたコードを見て、不器用で単純なアイデアを突然思いつきました。最初にロードする必要があるパッケージが正常にロードされた後、それをロードするかどうかを決定します。次にロードする必要がある 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("音效卸载失败");

おすすめ

転載: blog.csdn.net/zjjjjjjj_/article/details/127693172