C# 是否在同一位置加载多个按钮
我正在编写一个带有用户输入和按钮的UI界面。我需要让用户输入一些数字,然后按下标有“解决”的按钮,以确定数字是否正确。一开始我试着只用一个按钮来解决这个问题。这是我的密码:C# 是否在同一位置加载多个按钮,c#,xna,C#,Xna,我正在编写一个带有用户输入和按钮的UI界面。我需要让用户输入一些数字,然后按下标有“解决”的按钮,以确定数字是否正确。一开始我试着只用一个按钮来解决这个问题。这是我的密码: if (correct) { solveButton = new MenuButton(contentManager.Load<Texture2D>("solve"), buttonCenter, GameState.AnswerNo); } else { solveButton
if (correct)
{
solveButton = new MenuButton(contentManager.Load<Texture2D>("solve"),
buttonCenter, GameState.AnswerNo);
}
else
{
solveButton = new MenuButton(contentManager.Load<Texture2D>("solve"),
buttonCenter, GameState.AnswerYes);
}
这里,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);
这很好,但令人尴尬的是,当用户输入正确的数字时,button1将消失,button2将出现在它的正下方。是否有更好的方法来完成此功能?我认为您看错了问题 不使用两个不同的按钮,为什么不使用一个按钮,然后通过函数设置状态 用户输入值,然后按下按钮。 按钮调用函数,检查值是否正确。 根据结果,设置活动状态。
为什么不给两个按钮相同的位置?谢谢你的回复。在同一位置使用两个按钮,无论输入如何,都只会返回一个答案。这听起来像是您在查看代码的错误部分。听起来您的solveButton没有被正确地重新分配/重画,但是很难确定给定的代码是否正确。
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);
}