我正在尝试使用我拥有的图像来改变游戏的分数。图像的数字为0-9。然而,我的艺术家没有将它们打包成一个纹理所以我必须逐个称它们,因为我的时间非常短。我根据我在网上找到的内容尝试了这样做:
rOnes = GameObject.Find("EnhancedTextHandler/Ones").GetComponent<SpriteRenderer>();
rTens = GameObject.Find("EnhancedTextHandler/Tens").GetComponent<SpriteRenderer>();
rHuns = GameObject.Find("EnhancedTextHandler/Hundreds").GetComponent<SpriteRenderer>();
rOnes.sprite = Resources.Load<Sprite>("Pong/Numbers/1black");
这只是为了测试我是否可以将精灵设置为新的精灵。但是我收到以下错误:
Cannot implicitly convert type 'Sprite' to 'UnityEngine.Sprite'
我见过很多人按照我在论坛上这样做的方式做到这一点,所以我觉得我在做一些非常愚蠢的事情。我似乎无法在文档中找到Sprite
和UnityEngine.Sprite
问题:如何从SpriteRenderer为Sprite分配一个Sprite。
注意:我不想像这样对Sprite进行大量的引用:
Sprite ref1, ref2, ref3, ref4, etc;
rOnes.sprite = ref1;
但即便如此,我也会遇到同样的错误。
感谢先进的任何帮助!
答案 0 :(得分:1)
你不能隐式地将类型Sprite转换为UnityEngine.Sprite,所以尝试明确地将其转换为声明它
greenSprite = Resources.Load ("SpritesFolderName/" + "mySpritename", typeof(Sprite)) as Sprite;