我使用Microsoft.Xna.Framework.Input库检查键的输入,例如,Keys.A是A,或者Keys.OemTilde是'〜',但我找不到@的正确键。 enum叫做Keys。有人能告诉我它是什么吗?
发布于 2019-03-12 10:23:33
在美国键盘上是:Shift+2
所以完整的代码示例是:
KeyboardState ks = Keyboard.GetState();
if((ks.isKeyDown(Keys.LeftShift) || ks.isKeyDown(Keys.RightShift)) && ks.isKeyDown(Keys.D2))
{
// @ was pressed
}
请参阅所有密钥的Keys
Enum 链接。
并非所有键盘布局都相同。
找出按键的简单方法是将以下代码添加到game1.cs
:
// Class level variables
KeyboardState ks = new KeyboardState(),oks;
然后在Update
方法中:
oks = ks;
ks = KeyBoard.GetState();
Keys[] pressed = new Keys[0];
if(ks != oks)
{
// A key was pressed
pressed = ks.GetPressedKeys();
}
foreach(var key in pressed)
Console.WriteLine(key.ToString());
不要使用任何修饰符(Shift或Alt)运行此代码时,或者LeftShift
输出结果会有很多行。
在Visual Studio中查看“输出”选项卡以查看按下的键。
测试后删除这些行。
https://stackoverflow.com/questions/-100006430
复制相似问题