我有一个按钮作为一个预制件。我想示例化它作为一个游戏对象。按钮有一个组件附加默认情况下。我想访问它,并分配一个颜色,而示例化。我尝试了几种方法,但得到错误。那么什么是一种方法来改变一个示例化的预制件的图像颜色?
作为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();
1条答案
按热度按时间avwztpqn1#
您很可能不小心在脚本中使用了错误的
Image
类,例如在UnityEngine.UIElements.Image
、System.Drawing.Image
中定义的类,或者在您自己的项目中使用了名为Image
的类。您正在使用UGUI组件(来自
UnityEngine.UI
命名空间),因此您希望使用UnityEngine.UI.Image
。请仔细检查您正在使用的Image
类,并进行必要的更改以确保您使用的是正确的类。然后您可以更改其color
属性。