【问题标题】:how can i change button color in unity 3D C#? [duplicate]如何在统一 3D C# 中更改按钮颜色? [复制]
【发布时间】:2017-10-17 22:39:24
【问题描述】:

我有 2 个按钮 "A" 和 "B" 。 单击按钮“A”时,我想更改按钮“B”的颜色 在 C# 中编写脚本有什么帮助吗?

【问题讨论】:

    标签: c# button unity3d colors


    【解决方案1】:

    我认为您想更改按钮的背景颜色。这应该有效。将红色替换为您想要的颜色

        private void buttonA_Click(object sender, EventArgs e)
        {
           buttonB.BackColor = Color.Red;
        }
    

    【讨论】:

    • 错误:“按钮不包含背景颜色的定义”
    • 把你的代码放一个sn-p
    • Unity 中的任何地方都没有 BackColor 属性。我猜你的意思是buttonB.color buttonB 是一个 Image 组件?
    【解决方案2】:

    使用单击 A 按钮时调用的事件,使用对 B 按钮的引用来获取他的图像组件并更改它的颜色。以下代码应该可以工作:

    bButton.GetComponent<Image>().color = yourColor;
    

    如果你只想处理按钮本身,你也可以定义一个ColorBlock,用你的按钮以前的颜色属性填充它,并在将它设置到你的按钮之前更改它的normalColor组件:

    ColorBlock colorBlock = bButton.GetComponent<Button>().colors;
    colorBlock.normalColor = yourColor;
    bButton.GetComponent<Button>().colors = colorBlock;
    

    【讨论】:

    • 感谢您的时间我尝试了这个,但按钮的背景(白色)而不是变成红色它消失了。
    • @AwaisChaudhry 您尝试了哪种解决方案?
    • 现在可以了,谢谢我使用了第二次,你能再帮我一个忙吗,我怎样才能在点击时进一步改变它,比如第一次点击红色第二次点击Blue 第三次点击 Green 并在第四次点击 Red 并再次重复.. 我是 Unity C# 的新手,@lsuka
    • @AwaisChaudhry 当提出不同的问题时,您应该提出不同的问题,除非您已经可以在 Internet 或 Stack Overflow 上的其他地方找到答案。无论如何,正如我们在其中,我会帮助你。 :) 您可以将这 3 种颜色存储在 List 对象中(我们称之为 listColor),并在您当前使用的列表中保存哪个索引(currentIndex)(0、1 或 2)。然后,当您按下 A 按钮时,要求 colorBlock.normalColor 等于 listColor[currentIndex],然后在使用模 3 的同时将索引增加 1。应该做的伎俩。
    猜你喜欢
    • 2020-08-30
    • 1970-01-01
    • 2014-11-10
    • 2019-09-07
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    相关资源
    最近更新 更多