我目前正在使用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;
}
}
}
下面是它的外观: