我在运行时通过脚本创建了一组预制件。它们被保存在名为newObj的数组中。每个控件都有一些文本UI和一些按钮,我可以使用GetComponentsInChildren来检索它们。当用户单击预制中的第一个按钮时,我想运行一个功能,该功能可以更改按钮的文本并突出显示该按钮。
一切正常,除了按钮没有突出显示。
public void SelectPlayer(int rowSelected)
{
var buttons = newObj[rowSelected].GetComponentsInChildren<Button>();
var texts = newObj[rowSelected].GetComponentsInChildren<Text>();
texts[0].text = "1";
buttons[0].Select();
buttons[0].OnDeselect(null);
}
答案 0 :(得分:1)
糟糕。我对Unity还是很陌生,却忘记了Unity将默认突出显示颜色设置为白色(出于某种原因)。一旦使用编辑器将其更改为预制件,一切就很好了。