将Sprite设置为Unity

时间:2016-05-18 04:44:26

标签: c# unity3d

我正在尝试使用我拥有的图像来改变游戏的分数。图像的数字为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'

我见过很多人按照我在论坛上这样做的方式做到这一点,所以我觉得我在做一些非常愚蠢的事情。我似乎无法在文档中找到SpriteUnityEngine.Sprite

之间的区别

问题:如何从SpriteRenderer为Sprite分配一个Sprite。

注意:我不想像这样对Sprite进行大量的引用:

 Sprite ref1, ref2, ref3, ref4, etc;
 rOnes.sprite = ref1;

但即便如此,我也会遇到同样的错误。

感谢先进的任何帮助!

1 个答案:

答案 0 :(得分:1)

你不能隐式地将类型Sprite转换为UnityEngine.Sprite,所以尝试明确地将其转换为声明它

greenSprite = Resources.Load ("SpritesFolderName/" + "mySpritename", typeof(Sprite)) as Sprite;