@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
Сложность вопроса не знаю, поэтому поставил средний уровень
  • Вопрос задан
  • 208 просмотров
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
pistolSprite =  Resources.Load <Sprite> (pistolPath);	
//или если несколько внутри то 
Sprite[] pistolSprites =  Resources.Load <Sprite> (pistolPath);


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

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

Войти через центр авторизации
Похожие вопросы