2016-01-03 4 views
0

Возможно ли в Unity 3D с помощью C# создать массив для случайного размещения спрайтов из папки , а не из листа спрайтов? Если это так, какой код я использую для ссылки на папку? Из того, что я могу найти, спрайты обычно кодируются для загрузки с использованием random.range с массивом с использованием листа спрайтов вместо фактического доступа к папке. Единственное, что даже похоже на это, что я смог найти здесь:Unity 3D: Загрузить спрайты из папки

http://docs.unity3d.com/ScriptReference/Resources.html

, но как вы можете видеть, с этим вы можете только загрузить из папки под названием «Ресурсы» в «Активы» папка , и, возможно, я ошибаюсь, но казалось бы, что это можно сделать только с игровым объектом. (?)

+0

Чуть более конкретно вы должны посмотреть на ['Resouces.Load'] (http://docs.unity3d.com/ScriptReference/Resources.Load.html). Вы можете загрузить из * любой * ресурсной папки с именем «Ресурсы» в проект Unity. Если вы хотите загрузить из какого-либо произвольного места, когда игра запущена, это еще одна история - проверьте [Загрузка файла текстуры из файла png/jpg на диск] (http://answers.unity3d.com/questions/432655/loading- texture-file-from-pngjpg-file-on-disk.html) по ответам Unity. (В любом случае, я думаю, вы должны отредактировать вопрос для ясности!) – 31eee384

+0

Спасибо всем! Я получил это для работы с этим: Sprite [] enemySprites = Resources.LoadAll («Sprites/Enemies»); – Veniversum

+0

@Veniversum Вы можете ответить на свой вопрос, добавив ответ ниже. Это облегчает для других поиск вашего решения. – user3071284

ответ

2

Вы смотрите на нужные документы.

Спрайт - это GameObject, только более конкретный, предназначенный для использования в играх 2d. Таким образом, вы создадите свои спрайты и сделаете им предварител. Эти префабы заходим в папку Resources и вот код:

GameObject [] objs = (GameObject[])Resources.LoadAll("SpriteFolder"); 
GameObject randomSprite = objs[Random.Range(0, objs.Length)]; 
0

Вот что я в конечном итоге с помощью:

Sprite [] enemySprites = Resources.LoadAll ("Sprites/Enemies");

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