0
語言:C#菜單索引安其發行
說明: 所以目前我在做一個小遊戲的XNA。我正在爲遊戲創建一個菜單。我有3個菜單菜單狀態。 1 =選項菜單,2 =開始菜單,3 =加載菜單。所以目標是當用戶按下「D」鍵時菜單索引增加1,對於「A」鍵,菜單遞減。這個問題是使用XNA中的KeyDown更新每個Tick。所以當我增加/減少索引時,它會更新到更快的方式。我希望用戶能夠切換菜單而不會閃爍得非常快。以下是我的代碼,請讓我知道任何解決方案。
if(keyboard.IsKeyDown(Keys.D))
{
LyEngine.Game.MENU_INDEX++;
if (LyEngine.Game.MENU_INDEX >= 3)
{
LyEngine.Game.MENU_INDEX = 1;
}
}
else if (keyboard.IsKeyDown(Keys.A))
{
LyEngine.Game.MENU_INDEX--;
if (LyEngine.Game.MENU_INDEX <= 1)
{
LyEngine.Game.MENU_INDEX = 3;
}
}
爲了將來的使用,不必將單個鍵保存在字典中,只需保存上一次更新中的整個鍵盤狀態即可。這樣,當您突然想要開始監控新密鑰時,您不必做任何更改。 – Falgantil
是的,@BjarkeSøgaard,它在工作之後是一個很好的重構。 –
如果我有多個項目,但不僅僅是3個,那麼呢? –