XNA控制设置(XNA Controls Settings)

2019-10-18 00:37发布

我有我的游戏编辑控件一个巨大的问题..我有一个游戏内的按钮,当你点击它。 “选择你的关键。”显示的文本,但我不知道如何实际设置它..

我已经作出了“等待输入”布尔..这不是真正的代码,它是如何我想象的那么

if (buttonIsClicked) waitinForInput = true;

while(waitingForInput)
{
kbState = Keyboard.GetState();
somehow convert it to Keys.(STH);
if (Keys.STH != defaultKeys)
{
defaultKeys = Keys.STH;
waitingForInput = false;
}
}

有没有办法做到这一点.. Simpliest,我可以吗? 很遗憾我的英文不好..提出这一着急,而不是我的母语..

谢谢你的帮助.. :-)

Answer 1:

事情是这样的:

 KeyboardState currentKeyboardState = new KeyBoardState();
 KeyboardState previousKeyboardState = new KeyBoardState();

 Keys jumpKey = Keys.Space;

 public void handleInput()
 {
     lastKeyboardState = currentKeyboardState;

     currentKeyboardState = Keyboard.GetState(PlayerIndex.One);

     bool waitingForKey = false;

     if(currentKeyboardState.IsKeyDown(Keys.A) && waitingForKey == false)
     {
         waitingForKey = true;            
     }

     if(waitingForKey == true)
     {
          //currentKeyboardState.GetPressedKeys() returns a list of pressed keys,
          //So, currentKeyboardState.GetPressedKeys()[0] returns the first pressed key

          if(currentKeyboardState.GetPressedKeys().Count() > 0)
          {
            jumpKey = currentKeyboardState.GetPressedKeys()[0];
            waitingForKey = false;
          }
     }
 }


文章来源: XNA Controls Settings