繁体   English   中英

如何在 Unity 中更改按钮的文本和图像颜色?

[英]How to change Text and Image color of button in Unity?

我很想在单击时更改按钮颜色,但不知道如何访问颜色。 我看到我的按钮具有包含该颜色的组件 Image,但是我无法访问它。 我对按钮的文本有同样的问题,我也没有找到如何访问它的方法。

我尝试按照教程进行操作,但出现错误(更多关于屏幕截图)。

using UnityEngine.UIElements;

public class GameManager : MonoBehaviour {
//...
 // This is my onclick function
 public void SelectLevel(int level ) {
  Debug.Log(level);
  GameObject btn = GameObject.Find("Btn" + level);
  Debug.Log(btn);
  Image imgButton = btn.GetComponent<Image>();
  Debug.Log(imgButton);
 }
}

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

你想要的不是命名空间中的UnityEngine.UIElements.Image

using UnityEngine.UIElements;

而是UnityEngine.UI.Image

using UnityEngine.UI;

试试这个来改变按钮的颜色:

btn.GetComponent<Image>().color = Color.red;

如果你想要不同的颜色,记得像这样实例化它:

new Color(rValue,gValue,bValue);

如果你想在 onClick 上发生:

btn.onClick.AddListener(MethodToChangeColor);

或者使用 lambda 表达式:

btn.onClick.AddListener(() => { btn.GetComponent<Image>().color = Color.red; });

还要检查您的Button700是否附加了 Image 组件!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM