2013-04-10 2 views
1

У меня есть огромная проблема с элементами управления редактирования для моей игры. У меня есть кнопка игры и когда вы нажимаете ее. Появляется текст «Выберите свой ключ ..», но я не знаю, как его настроить ..Настройки управления XNA

Я сделал «ожидание ввода» bool .. ЭТО НЕ РЕАЛЬНЫЙ КОД, КАК Я IMAGINE IT BE BE

if (buttonIsClicked) waitinForInput = true; 

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

Есть ли способ сделать это. Проще всего, как я могу? И извините за мой плохой английский .. Сделано это в спешке и не мой родной язык ..

Спасибо за любую помощь .. :-)

ответ

0

Что-то вроде этого:

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; 
      } 
    } 
} 
+0

Вау .. Это очень помогло .. Большое спасибо .. :-) Я не знал, что есть возможность использовать что-то вроде currentKeyboardState.GetPressedKeys() [0] .. –

+0

Рад, что я мог помочь! – Colton

Смежные вопросы