更改多个按钮后突出显示颜色,按钮在单击时消失

时间:2015-11-28 16:08:55

标签: c# button unity3d highlight

我想让我的玩家可以选择更改一些菜单颜色,包括按钮高亮显示。虽然我花了很多时间去抓我的功能,它改变了我列表中所有按钮的高光,但是有一个奇怪的副作用,现在按钮在点击时消失,然后在重新显示回正常状态时短暂显示突出显示

我根本不明白发生了什么,并且没有错误。

所有按钮都有默认的Color Tint Transition。这是我的代码:

public List<Color> Colors = new List<Color>();
public List<Button> Buttons = new List<Button>();

public void ButtonHighlights(int colorSelected)
{
    foreach (var button in Buttons)
    {
        Button btn = button.GetComponent<Button>(); 
        ColorBlock cb = btn.colors;
        cb.highlightedColor = Colors[colorSelected];
        btn.colors = cb;
    }
}

如果有人有任何想法,请分享!提前谢谢。

2 个答案:

答案 0 :(得分:0)

我会重做这个但是,问题是你在任何按钮上都将突出显示的颜色切换为null。如果这样那就是你的问题。您基本上将每个突出显示颜色的按钮更改为null。

答案 1 :(得分:0)

我觉得现在真的很傻但是问题不是脚本相关的,我在编辑器的“颜色”列表中将颜色的A值设置为0而不是255由于某种原因。