前提
Addressablesを用いてSpriteを取得するメソッドを作成したところ、
Unityエディタ上では正しく動作するものの、ビルドすると正しく動作しません。
列挙型PlayerKeyに該当するSpriteを取得し、returnするだけのものです。
該当のソースコード
public Sprite FaceImage(PlayerKey key) { string iconName = key.ToString(); var handle = Addressables.LoadAssetAsync<Sprite>(iconName); Sprite icon = handle.WaitForCompletion(); Debug.Log(icon); Addressables.Release(handle); Debug.Log(icon); return icon; }
試したこと
Unityエディタ上でのDebug.Logは両方Spriteを取得できています。
実機の代わりに、Use Existing Buildで実行すると、前方のLogは正しくSpriteを取得できていますが、
Addressables.Release後にはnullとなってしまいます。
また、Addressables.Releaseをコメントアウトする(つまり一切リリースしない)と、
実機でも想定した通りの挙動となりますが、リリースしない使い方に不安があります。
知りたいこと
実機でもreturnがnullとならない方法を教えてください。
よろしくお願いします。
補足情報
Unity 2020.3.25f1
Addressables 1.18.19

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2022/08/24 06:10