我目前正在使用 c# 开发 roguelike。世界、玩家等都在控制台内渲染。但是当控制台中的更改太多时,它就会滞后。为了绕过这个,我试图让程序等待播放器取消按下播放器正在按下的键。有人知道如何制作这个吗?糟糕,没有类似的东西Console.ReadKeyUp()
。
while(Console.KeyAvailable){
}
好像不行。。。
这是一段代码:
public void move(){
if(!MainClass.loading){
switch(Console.ReadKey().Key){
case ConsoleKey.NumPad8:
//walk up
break;
case ConsoleKey.NumPad4:
//walk left
break;
case ConsoleKey.NumPad6:
//walk right
break;
case ConsoleKey.NumPad2:
//walk down
break;
case ConsoleKey.NumPad7:
//walk left up
break;
case ConsoleKey.NumPad9:
//walk right up
break;
case ConsoleKey.NumPad1:
//walk left down
break;
case ConsoleKey.NumPad3:
//walk right down
break;
case ConsoleKey.NumPad5:
//eat
break;
}
}
}
这就是它的样子: