Nev*_*rnb 3 c# keypress keydown
private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.W)player1.moveUp(); if (e.KeyCode == Keys.NumPad8) player2.moveUp(); }
在上面的代码中,moveUp 方法基本上只是增加一个值。我想要它,以便两个键可以同时按下(或按住)并且两个事件都会触发。谢谢,内维克
获取键盘的状态并检查所需按键的状态。
活动并不是玩游戏的最佳方式。您需要更快的响应。
[DllImport("user32.dll")]
public static extern int GetKeyboardState(byte [] lpKeyState);
...
byte[] bCharData = new byte[256];
GetKeyboardState(bCharData);
Run Code Online (Sandbox Code Playgroud)
另一种方式,从这里采取,
[DllImport("user32.dll")]
static extern short GetKeyState(VirtualKeyStates nVirtKey);
...
public static bool IsKeyPressed(VirtualKeyStates testKey)
{
bool keyPressed = false;
short result= GetKeyState(testKey);
switch (result)
{
case 0:
// Not pressed and not toggled on.
keyPressed = false;
break;
case 1:
// Not pressed, but toggled on
keyPressed = false;
break;
default:
// Pressed (and may be toggled on)
keyPressed = true;
break;
}
return keyPressed;
}
Run Code Online (Sandbox Code Playgroud)
基本上,这些已经可以在网上获得。在询问之前尝试搜索。会更快:)
| 归档时间: |
|
| 查看次数: |
1913 次 |
| 最近记录: |