2014-10-28 17 views
0

我正在用用戶輸入和按鈕編寫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.AnswerNoGameState.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

爲什麼不給這兩個按鈕相同的位置? – 2014-10-28 15:07:48

+0

感謝您的回覆。不管輸入如何,在相同位置使用這兩個按鈕只會返回一個答案。 – 2014-10-28 15:12:05

+0

這聽起來像您可能正在查看代碼的錯誤部分。這聽起來像你的solveButton沒有被正確地重新分配/重繪,但很難確切地知道給出的代碼。 – 2014-10-28 15:55:59

回答

0

我想你是看錯了問題。

而不是使用兩個不同的按鈕,爲什麼你不只是使用一個按鈕,然後通過函數設置狀態?

  1. 用戶輸入值,並按下按鈕。
  2. 按鈕調用函數,檢查值是否正確。
  3. 根據結果設置活動狀態。
相關問題