更改多个按钮突出显示颜色后,按钮在单击时消失
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。
我想让我的玩家可以选择更改一些菜单颜色,包括突出显示的按钮。尽管这让我头疼不已,但我还是做了一个功能来更改列表中所有按钮的高亮显示,但是有一个奇怪的副作用,现在按钮在单击时消失,然后在重新出现时短暂显示高亮显示回到正常状态.
我完全不明白发生了什么,也没有错误。
所有按钮都有默认的颜色色调过渡这是我的代码:
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。