我正在编写一个带有用户输入和按钮的UI界面。我需要让用户输入一些数字,然后按下标有“解决”的按钮,这需要确定数字是否正确。我尝试在开始时只使用一个按钮来解决它。这是我的代码:
if (correct)
{
solveButton = new MenuButton(contentManager.Load<Texture2D>("solve"),
buttonCenter, GameState.AnswerNo);
}
else
{
solveButton = new MenuButton(contentManager.Load<Texture2D>("solve"),
buttonCenter, GameState.AnswerYes);
}
加载时,在draw方法下,我使用以下代码:
solveButton.Draw(spriteBatch);
此处,GameState.AnswerNo
和GameState.AnswerYes
分别代表正确和错误答案的不同页面。但是,它没有像我想象的那样起作用 - 无论“正确”值是什么,它总是进入GameState.AnswerNo
页面。
因此,我正在考虑使用两个按钮(按钮数字相同,但稍微移动位置):
solveButton = new MenuButton(contentManager.Load<Texture2D>("solve"),
buttonCenter, GameState.AnswerNo);
buttonCenter.Y -= 40;
solveButton2 = new MenuButton(contentManager.Load<Texture2D>("solve"),
buttonCenter, GameState.AnswerYes);
加载时:
if (correct)
{
solveButton.Draw(spriteBatch);
}
if (!correct)
{
solveButton2.Draw(spriteBatch);
}
哪种方法很好,但尴尬的是,当用户输入正确的数字时,button1
将消失,button2
将出现在其下方。有没有更好的想法来完成这个功能?
答案 0 :(得分:0)
我认为你看错了。
不是使用两个不同的按钮,为什么不只是使用一个按钮,然后通过函数设置状态?