我需要一个Console.ReadKey()的替代品,这样我可以一次按多个键。
我需要这是因为我正在做一个控制台ASCII游戏引擎在C#。如果我做了一个可控制的玩家,我只能上下左右移动。根本没有对角线移动,只是因为Console.ReadKey()允许一次按下一个键。
任何帮助都将不胜感激!:)
我可以将包安装到我的解决方案项目中
键输入的函数是这样的(每一帧都会调用它来检查键是否被按下):
public static char Key() // returns the pressed key in char
{
ConsoleKeyInfo keyPress;
if (Console.KeyAvailable) // will read the key only if it is pressed (can cause input lag on low frame rates)
{
keyPress = Console.ReadKey(true);
return char.ToUpper(keyPress.KeyChar);
}
return default;
}发布于 2020-11-25 20:21:47
我找到了一个更好的替代品!只需安装名为EZInput的NuGet包,它将允许更好的控件,一次输入一个键。
我尝试在EZinput online上查找示例和文档,但什么也找不到。我学会了如何自己使用它。很简单,只需输入EzInput和点在代码中,它将显示它所提供的所有东西。
如果你想按W键做某事,这里是你应该做的:
if (EZInput.Keyboard.IsKeyPressed(EZInput.Key.W))
{
// Do something...
}但最好是键入using EZInput;,这样就不需要每次都键入名称。
https://stackoverflow.com/questions/64965141
复制相似问题