Game Development Reference
In-Depth Information
return _keyStates[key].Pressed;
}
public bool IsKeyHeld(Keys key)
{
EnsureKeyStateExists(key);
return _keyStates[key].Held;
}
public void Process()
{
ProcessControlKeys();
foreach (KeyState state in _keyStates.Values)
{
// Reset state.
state.Pressed = false;
state.Process();
}
}
private bool PollKeyPress(Keys key)
{
return (GetAsyncKeyState((int)key) != 0);
}
private void ProcessControlKeys()
{
UpdateControlKey(Keys.Left);
UpdateControlKey(Keys.Right);
UpdateControlKey(Keys.Up);
UpdateControlKey(Keys.Down);
UpdateControlKey(Keys.LMenu); // this is the left alt key
}
private void UpdateControlKey(Keys keys)
{
if (PollKeyPress(keys))
{
OnKeyDown(this, new KeyEventArgs(keys));
}
Search WWH ::




Custom Search