unity3d 如何改变颜色的图像从预制?

bsxbgnwa  于 2023-03-30  发布在  其他
关注(0)|答案(1)|浏览(172)

我有一个按钮作为一个预制件。我想示例化它作为一个游戏对象。按钮有一个组件附加默认情况下。我想访问它,并分配一个颜色,而示例化。我尝试了几种方法,但得到错误。那么什么是一种方法来改变一个示例化的预制件的图像颜色?
作为2D UI元素,它在画布中呈现。

[SerializeField] GameObject button;

GameObject child = Instantiate(button, new Vector2(0,0), Quaternion.identity);
//error: not a monobehavior object.
//Image rend = child.GetComponent<Image>();
//rend.tintColor = Color.blue;

//no renderer.
 // Renderer boxRenderer = child.transform.GetComponent<Renderer>();
 // boxRenderer.material.color = Color.blue;

 //child.setparent();

avwztpqn

avwztpqn1#

您很可能不小心在脚本中使用了错误的Image类,例如在UnityEngine.UIElements.ImageSystem.Drawing.Image中定义的类,或者在您自己的项目中使用了名为Image的类。
您正在使用UGUI组件(来自UnityEngine.UI命名空间),因此您希望使用UnityEngine.UI.Image。请仔细检查您正在使用的Image类,并进行必要的更改以确保您使用的是正确的类。然后您可以更改其color属性。

相关问题