Я пытаюсь создать объект, который будет отвечать за создание и отображение разных спрайтов, поэтому я хотел бы получить доступ к активам/спрайтам программно вместо перетаскивания спрайта в иерархии под этим объектом.
Есть способ программно создать новый спрайт и назначить то, что у меня есть в папке с ресурсами?
Я также хотел бы иметь некоторую структуру данных с несколькими изображениями, загруженными в начале игры, массивом или словарем или что-то в этом роде, чтобы я мог измениться в зависимости от ситуации, которую мне нужно показать. Но что меня смущает, так как я новичок в Unity, так это то, как создать спрайт, ссылаясь на спрайт программно, используя папку с ресурсами.
отредактировать с прогрессом:
Я создал массив спрайтов вроде этого:
public Sprite[] mySprites;
в Unity Я добавил спрайты внутри массива вручную (я просто перетащил png внутри массива переменных), поэтому на самом деле в этом объекте у меня есть компонент с этим массивом, полным спрайтов
внутри компонента я также сделал это:
public SpriteRenderer renderer;
renderer = transform.GetComponent<SpriteRenderer>();
renderer.sprite = (Sprite)mySprites [0];
У меня нет ошибок, пока я не запустил игру, тогда спрайт НЕ назначен, и я получил следующее:
"Не удалось выполнить PPtr при разыменовании! Кастин из Texture2D в Sprite!"
Я получил эту ошибку даже без кастинга (Sprite) и btw Я не знаю, почему он рассказывает мне о Texture2D, поскольку все что задано как спрайт