unity3d Unity从图像获取精灵

s4n0splo  于 2022-12-04  发布在  其他
关注(0)|答案(2)|浏览(281)

我正在尝试从Unity中的Image获取sprite,但遇到了一个问题。我正在使用以下代码:

void Start () {
     Sprite sprite = this.gameObject.GetComponent<Image> ().sprite;

     if (sprite == null) {
            Debug.Log ("NULL");
        } else {
            Debug.Log ("NOT NULL");
        }
}

如果sprite是空的,它不会识别为“null”。为什么?以及如何修复它?

hgc7kmma

hgc7kmma1#

对我很有效
我不知道您的使用情形,但我可以建议一些解决方案
您不应该在Unity中使用==运算符检查引用,您可以阅读更多关于herehere的信息,并在那里找到问题的解决方案。

tnkciper

tnkciper2#

如果您的组件是Image,则右边的属性是Source Image,但如果您使用的是Sprite Renderer组件,则属性是Sprite
这两个组件之间的区别很简单,Image组件用于UI元素,SpriteRenderer用于世界空间环境。
您可以通过这些文档阅读有关这两个组件的更多信息。

相关问题