Unity, загружающий спрайты с адресуемыми - PullRequest
0 голосов
/ 03 октября 2019

Я очень новичок в Unity, и после некоторого исследования я нашел много дискуссий о том, как мне не следует использовать Resources.Load и вместо этого использовать Addressables.

Ранее я загружал карточные рисунки с помощью

cardPrefab.cardArt.sprite = Resources.Load<Sprite>("CardSprite/Justice");

Однако я не могу заставить Адресуемый работать. Попытка следующего дает мне ошибку:

 Sprite Test = Addressables.LoadAssetAsync<Sprite>("CardSprite_Justice");

Я получаю эту ошибку:

Cannot implicitly convert type 'UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle<UnityEngine.Sprite>' to 'UnityEngine.Sprite'

Что действительно сбивает с толку.

1 Ответ

0 голосов
/ 03 октября 2019

Получить с обратным вызовом

private void Sprite_Completed(AsyncOperationHandle<Sprite> handle)
{
    if (handle.Status == AsyncOperationStatus.Succeeded)
    {
        Sprite result = handle.Result;
        // Sprite ready for use
    }
}

void Start()
{
    AsyncOperationHandle<Sprite> SpriteHandle = Addressables.LoadAsset<Sprite>("CardSprite_Justice");
    SpriteHandle.Completed += Sprite_Completed;
}

, и вы можете использовать сопрограммы или задачи, чтобы получить его, смотрите документ: https://docs.unity3d.com/Packages/com.unity.addressables@0.7/manual/AddressableAssetsAsyncOperationHandle.html

...