首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有Console.ReadKey()的替代品?

有没有Console.ReadKey()的替代品?
EN

Stack Overflow用户
提问于 2020-11-23 16:48:09
回答 1查看 91关注 0票数 1

我需要一个Console.ReadKey()的替代品,这样我可以一次按多个键。

我需要这是因为我正在做一个控制台ASCII游戏引擎在C#。如果我做了一个可控制的玩家,我只能上下左右移动。根本没有对角线移动,只是因为Console.ReadKey()允许一次按下一个键。

任何帮助都将不胜感激!:)

我可以将包安装到我的解决方案项目中

键输入的函数是这样的(每一帧都会调用它来检查键是否被按下):

代码语言:javascript
复制
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;
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-25 20:21:47

我找到了一个更好的替代品!只需安装名为EZInput的NuGet包,它将允许更好的控件,一次输入一个键。

我尝试在EZinput online上查找示例和文档,但什么也找不到。我学会了如何自己使用它。很简单,只需输入EzInput和点在代码中,它将显示它所提供的所有东西。

如果你想按W键做某事,这里是你应该做的:

代码语言:javascript
复制
if (EZInput.Keyboard.IsKeyPressed(EZInput.Key.W))
{
    // Do something...
}

但最好是键入using EZInput;,这样就不需要每次都键入名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64965141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档