Задать вопрос
@YtnEtc
Ламер в первом поколении

Почему Resources.Load() выдает null?

Код:
Sprite pistolSprite;
	GameObject pistol;
	public string pistolPath = "Sprites/Pistols/pistol";
	public int damage;

	void Start () {

		pistolSprite = (Sprite)(Resources.Load (pistolPath, typeof(Sprite)));	
		if (pistolSprite == null)
			Debug.Log ("Pistol sprite wasnt found");
		pistol = new GameObject("pistol");
		pistol.AddComponent<SpriteRenderer>().sprite = pistolSprite;

	}

	void Update () {
			
			pistol.transform.position = new Vector3 (transform.position.x, transform.position.y, 0f);
			pistol.transform.rotation = transform.rotation;
		
	}


Как и ожидалось Debug.Log() выдает то, что и написано. Файл pistol.png находится в директории Assets/Resources/Sprites/Pistols/pistol
Сложность вопроса не знаю, поэтому поставил средний уровень
  • Вопрос задан
  • 250 просмотров
Подписаться 1 Средний 4 комментария
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    SDP-030_PRG Продвинутая разработка в Microsoft .NET
    1 неделя
    Далее
  • Ulearn.me
    Проектирование на языке C#
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
pistolSprite =  Resources.Load <Sprite> (pistolPath);	
//или если несколько внутри то 
Sprite[] pistolSprites =  Resources.Load <Sprite> (pistolPath);


так должно работать. в вашем варианте возможно находило именно текстуру, а потом пробовало в спраит преобразовать из за указания typeof(Sprite)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@BashkaMen
C# программист
Может стоит дописать .png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы