Unity Resources.Load <Sprite> return null
Unity Resources.Load <Sprite> return null
是的,我已经阅读了所有有类似问题的主题。
但是我的还没有解决:(
所以你能看一下吗?
像其他人一样,我正在尝试通过代码更改对象的精灵。
精灵文件本身位于 "Assets/Resourses" 文件夹中。
导入设置声明导入文件的纹理类型是 "Sprite(2D and UI)".
我试过以下方法:
gameObject.GetComponent<SpriteRenderer>().sprite = Resources.Load<Sprite>("1");
和
gameObject.GetComponent<SpriteRenderer>().sprite = Resources.Load("1") as Sprite;
和
Sprite s = Resources.Load("1") as Sprite;
gameObject.GetComponent<SpriteRenderer>().sprite = s;
和
Sprite s = Resources.Load<Sprite>("1");
gameObject.GetComponent<SpriteRenderer>().sprite = s;
它们都用 "None(Sprite)" 替换了现有的对象精灵,我猜这意味着 "null"。
非常感谢任何帮助!
The sprite file itself is in "Assets/Resourses" folder.
这就是问题所在。该文件夹必须命名为 Resources not Resources。也不是。
必须命名为 Resources。修复文件夹名称后,您可以使用下面的代码片段来阅读 Sprite
.
Sprite sprite = Resources.Load("1", typeof(Sprite)) as Sprite;
如果 sprite 设置为多模式,则使用它;
Sprite[] sprite = Resources.LoadAll<Sprite>("1") as Sprite[];
您可以找到其他加载 Sprites 的方法。
是的,我已经阅读了所有有类似问题的主题。 但是我的还没有解决:(
所以你能看一下吗?
像其他人一样,我正在尝试通过代码更改对象的精灵。 精灵文件本身位于 "Assets/Resourses" 文件夹中。 导入设置声明导入文件的纹理类型是 "Sprite(2D and UI)".
我试过以下方法:
gameObject.GetComponent<SpriteRenderer>().sprite = Resources.Load<Sprite>("1");
和
gameObject.GetComponent<SpriteRenderer>().sprite = Resources.Load("1") as Sprite;
和
Sprite s = Resources.Load("1") as Sprite;
gameObject.GetComponent<SpriteRenderer>().sprite = s;
和
Sprite s = Resources.Load<Sprite>("1");
gameObject.GetComponent<SpriteRenderer>().sprite = s;
它们都用 "None(Sprite)" 替换了现有的对象精灵,我猜这意味着 "null"。
非常感谢任何帮助!
The sprite file itself is in "Assets/Resourses" folder.
这就是问题所在。该文件夹必须命名为 Resources not Resources。也不是
必须命名为 Resources。修复文件夹名称后,您可以使用下面的代码片段来阅读 Sprite
.
Sprite sprite = Resources.Load("1", typeof(Sprite)) as Sprite;
如果 sprite 设置为多模式,则使用它;
Sprite[] sprite = Resources.LoadAll<Sprite>("1") as Sprite[];
您可以找到其他加载 Sprites 的方法