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

After changing multiple buttons highlight color, buttons disappears on click

我想让我的玩家可以选择更改一些菜单颜色,包括突出显示的按钮。尽管这让我头疼不已,但我还是做了一个功能来更改列表中所有按钮的高亮显示,但是有一个奇怪的副作用,现在按钮在单击时消失,然后在重新出现时短暂显示高亮显示回到正常状态.

我完全不明白发生了什么,也没有错误。

所有按钮都有默认的颜色色调过渡这是我的代码:

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;
    }
}

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

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

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