Unity 4.3 - 2D, как программно назначать спрайты объекту

Я пытаюсь создать объект, который будет отвечать за создание и отображение различных спрайтов, поэтому я хотел бы получить прямой доступ к активам / спрайтам программно, а не перетаскивать спрайт в иерархию под этим объектом.

Есть ли способ программно создать новый спрайт и назначить то, что у меня есть в папке ресурсов?

Я также хотел бы иметь своего рода структуру данных с несколькими изображениями, загруженными в начале игры, массивом или словарем, или что-то в этом роде, чтобы я мог в зависимости от ситуации изменять изображения, которые мне нужно показывать. Но что меня смущает, так как я новичок в Unity, так это то, как создать спрайт, используя ссылку на спрайт программно, используя папку assets.

редактировать с прогрессом:

Я создал массив спрайтов, как это:

public Sprite[] mySprites;

в Unity я добавил спрайты внутри массива вручную (я просто перетащил png в массив переменных), так что на самом деле в этом объекте у меня есть компонент с этим массивом, полным спрайтов

внутри компонента я также сделал это:

public SpriteRenderer renderer;
renderer = transform.GetComponent<SpriteRenderer>();
renderer.sprite = (Sprite)mySprites [0];

Я не получил ошибку, пока не запустил игру, тогда спрайт НЕ назначен, и я получил это:

"Не удалось выполнить приведение PPtr при разыменовании! Castin из Texture2D в Sprite!"

Я получил эту ошибку даже без приведения (Sprite) и, кстати, я не знаю, почему он рассказывает мне о Texture2D, так как что-то настроено как спрайт

Ответы на вопрос(2)

Ваш ответ на вопрос