2016-03-25 6 views
0

В моей структуре папок ресурсов я сам файл, теперь в редакторе единства этот файл является Texture Type Sprite (2D and UI), теперь, когда я пытаюсь запустить этот код в одном из моих сценариевUnity3d Resources.LoadAll <Sprite> пустой массив

var icons = Resources.LoadAll<Sprite>("Images/BuffIcons");

Моя переменная иконки пуста, теперь, если я меняю строку выше для

var icons = Resources.LoadAll("Images/BuffIcons");

Он возвращается с массивом, который имеет Texture2D, а затем несколько объектов Sprite. Теперь почему я не могу передать объекты в Sprite?

Также для вашей информации Sprite (2D and UI) является спрайтом Multiple, поэтому этот спрайт в целом имеет 42 различных спрайта. Мне кажется, что спрайт, который содержит все остальные спрайты, классифицируется как Texture2D, а затем все спрайты внутри Texture2D являются спрайтами. Как я могу просто указать Resource.LoadAll для загрузки спрайтов?

ответ

0

Так что это действительно глупый ответ, но я не собираюсь удалять этот вопрос, потому что из-за Интернета я видел этот вопрос в местах просмотра, и весь ответ не работал для меня так. Вот мое исправление: D

В принципе у меня есть Sprite (2D and UI) файл в Assets/Resources/Images/BuffIcons, в моем коде у меня есть эта линия

BuffIconSprites = Resources.LoadAll<Sprite>("Images/BuffIcons"); 

В основном все, что я должен был сделать просто закрыть Unity и повторно открыть его, похоже, если вы создадите ресурс спрайта, который содержит несколько спрайтов, которые вам нужно закрыть и снова открыть Unity, я думаю, что это как-то связано с файлом решения, который постоянно обновляется, когда материал меняется в вашем файле Unity.

P.S. поскольку вы можете видеть, что строка кода, которую я предоставил, не изменилась. Поэтому я на 100% уверен, что эта проблема связана с решением Unity.

 Смежные вопросы

  • Нет связанных вопросов^_^