Nid*_*ere 2 c# sprite unity-game-engine
是的,我已经阅读了所有有类似问题的主题。但是我的还没有解决:(
那你能看一下吗?
像其他人一样,我正在尝试通过代码更改对象的精灵。精灵文件本身位于“资产/资源”文件夹中。导入设置声明导入文件的纹理类型为“Sprite(2D 和 UI)”。
我尝试了以下方法:
gameObject.GetComponent<SpriteRenderer>().sprite = Resources.Load<Sprite>("1");
Run Code Online (Sandbox Code Playgroud)
和
gameObject.GetComponent<SpriteRenderer>().sprite = Resources.Load("1") as Sprite;
Run Code Online (Sandbox Code Playgroud)
和
Sprite s = Resources.Load("1") as Sprite;
gameObject.GetComponent<SpriteRenderer>().sprite = s;
Run Code Online (Sandbox Code Playgroud)
和
Sprite s = Resources.Load<Sprite>("1");
gameObject.GetComponent<SpriteRenderer>().sprite = s;
Run Code Online (Sandbox Code Playgroud)
他们都用“None(Sprite)”替换了现有的对象精灵,我猜这意味着“空”。
任何帮助将非常感激!
精灵文件本身位于“资产/资源”文件夹中。
那就是问题所在。该文件夹必须命名为Resources 而不是 Resourses。它也不是资源。
它必须命名为Resources。修复文件夹名称后,您可以使用下面的代码段读取Sprite.
Sprite sprite = Resources.Load("1", typeof(Sprite)) as Sprite;
Run Code Online (Sandbox Code Playgroud)
如果精灵设置为多模式,则使用它;
Sprite[] sprite = Resources.LoadAll<Sprite>("1") as Sprite[];
Run Code Online (Sandbox Code Playgroud)
您可以在此处找到加载 Sprite 的其他方法。