【发布时间】:2021-03-05 23:23:47
【问题描述】:
我需要替换为Console.ReadKey(),这样我就可以同时按多个键。
我需要这个是因为我正在用 C# 制作控制台 ASCII 游戏引擎。如果我做了一个可控的播放器,我只能向上、向下、向左和向右移动。完全没有对角线移动,只是因为 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;
}
【问题讨论】:
-
控制台并不是一个真正适合游戏的环境。您选择它有什么特别的原因吗?
-
嗯,我想要一种简单的方法来制作 ASCII 游戏引擎,用字母、数字和符号替换像素。我认为看到使用 ASCII 制作独立游戏并了解开发人员如何处理在控制台 C# 中制作游戏的图形限制会很有趣