Unity- UI,改变图像的颜色,导致它调整大小,占据整个屏幕

Unity- UI, Changing color of an image, causes it to resize, taking up the entire screen

我有一个导入的预制件

GameObject imagePrefab = Resources.Load("demonSkull") as GameObject;
image = GameObject.Instantiate(imagePrefab, imagePrefab.transform.position, imagePrefab.transform.rotation) as GameObject;
image.transform.SetParent(GameObject.Find("BattleCanvas").transform, false);  

它在屏幕上显示得很好。

但是,稍后我尝试将其颜色设置为:

GameObject.Find("Foo").GetComponent<Image>().color = new Color32(0, 0, 0, 0);

由于某些奇怪的原因,它没有改变颜色。相反,图片会扩展到占据整个屏幕。

Unity 不会抛出错误。

知道是什么原因造成的吗?

您需要更改 material.color

通用:

gameObject.GetComponent().material.color=Color.green;