如何在unity 3D C#中更改按钮颜色?
我有两个按钮“A”和“B”。 单击按钮“A”,我想更改按钮“B”的颜色如何在unity 3D C#中更改按钮颜色?,c#,button,unity3d,colors,C#,Button,Unity3d,Colors,我有两个按钮“A”和“B”。 单击按钮“A”,我想更改按钮“B”的颜色 用C语言编写脚本有什么帮助吗 我想您需要更改按钮的背景色。这应该行得通。将红色替换为所需的颜色 private void buttonA_Click(object sender, EventArgs e) { buttonB.BackColor = Color.Red; } 使用单击A按钮时调用的事件,使用对B按钮的引用获取其图像组件并更改其颜色。以下代码应该可以工作: bButton
用C语言编写脚本有什么帮助吗 我想您需要更改按钮的背景色。这应该行得通。将红色替换为所需的颜色
private void buttonA_Click(object sender, EventArgs e)
{
buttonB.BackColor = Color.Red;
}
使用单击A按钮时调用的事件,使用对B按钮的引用获取其图像组件并更改其颜色。以下代码应该可以工作:
bButton.GetComponent<Image>().color = yourColor;
bButton.GetComponent().color=yourColor;
如果您只想处理按钮本身,还可以定义一个按钮,用按钮以前的颜色属性填充它,并在将其设置到按钮上之前更改其组件:
ColorBlock colorBlock = bButton.GetComponent<Button>().colors;
colorBlock.normalColor = yourColor;
bButton.GetComponent<Button>().colors = colorBlock;
ColorBlock ColorBlock=bButton.GetComponent().colors;
colorBlock.normalColor=您的颜色;
bButton.GetComponent().colors=colorBlock;
Error:“按钮不包含BackColor的定义”放入代码片段Unity中的任何位置都没有BackColor
属性。我猜你的意思是buttonB.color
,buttonB是一个图像组件?谢谢你的时间,我试过了,但是按钮的背景(白色)没有变成红色,而是消失了。@AwaisChaudhry你尝试了哪种解决方案?现在它起作用了,谢谢我使用了第二个,你能再帮我一个忙吗,我怎样才能在单击时进一步更改它,如第一次单击红色第二次单击蓝色第三次单击绿色第四次单击红色并再次重复。。我是unity C#的新手@lsuka@AwaisChaudhry当你问一些不同的问题时,你应该打开一个不同的问题,除非你已经在Internet或Stack Overflow上的其他地方找到了答案。不管怎样,既然我们在这里,我会帮你的。:)您可以将这3种颜色存储在一个列表对象中(我们称之为listColor),并在列表中保存当前正在使用的索引(currentIndex)(0、1或2)。然后,当按下A按钮时,要求colorBlock.normalColor
等于listColor[currentIndex]
,然后将索引增加1,同时使用模3。我们应该做到这一点。