【发布时间】:2019-08-03 19:47:50
【问题描述】:
我有两个数组。一个 ui 按钮 - 带有子 TextMeshProUGUI 和另一个 int 数组。 当所有按钮都分配有新值时,我想将按钮(文本)数组的每个元素与 int 数组进行比较。
userInputs[] 持有按钮以从给定的 8 个选项中获取用户的输入以回答问题。
correctAnswers[] 包含所有正确答案。
我能够检查是否所有按钮都分配了值。然后我正在检查答案。在这里,如果正确,我希望按钮图像变为绿色,如果不正确,则变为红色。 无法理解如何比较?请帮忙
public void CheckAnswers()
{
int i = 0;
int j = 0;
// for (i = 0; i < userInputs.Length; i++)
{
foreach (Button userInput in userInputs)
if (userInputs[i].GetComponentInChildren<TextMeshProUGUI>().text
== correctAnswers[j].ToString())
{
userInput.GetComponent<Image>().color = Color.green;
}
else
{
{
userInput.GetComponent<Image>().color = Color.red;
}
}
}
【问题讨论】:
-
您好,您已在此处添加了整个代码,您能否进行编辑并仅显示必要的 sn-ps。这有点令人困惑,而且您的代码中也找不到
userAnswers -
@sujith 你能看看
public bool CheckAnswers()好吗 -
我放了整个代码只是为了展示我的工作。抱歉输入错误
userInputs我改了 -
您知道如何设置按钮文本,究竟是什么让您在检查按钮是否匹配答案时感到困惑
-
@BugFinder 我想等到所有 4 个按钮都从 8 个给定选项中分配了新值。然后我想将它们与正确答案进行比较。检查时,我希望正确回答的按钮变为绿色,否则变为红色。
标签: c# arrays user-interface unity3d button