在 C# 中默认按键变量
defaulting key-press variable in C#
我正在尝试用 C# 编写游戏,并且正在接收来自用户的键盘控件。 (例如:方向键)
我使用循环来查找游戏过程中的按键操作,我希望按键存储在我的变量中的值不会像按键被持续按下一样。如何重置存储按键的变量?
for (int t = 0; t < 10 || keyStrike.Key == ConsoleKey.Escape; t++) //t is the time of each "up line" : (10 in this case)
{
if (Console.KeyAvailable == true)
keyStrike = Console.ReadKey(true);
int z = x; //saves original position
//slides user right or left
x += ((keyStrike.Key == ConsoleKey.RightArrow) ? 1 : 0) - ((keyStrike.Key == ConsoleKey.LeftArrow) ? 1 : 0);
WriteAt("█", x, 34);
WriteAt(" ", z, 34);
//keyStrike reset here
}
如果您想重置该值,只需使用 default()
keyStrike = default(ConsoleKeyInfo);
我正在尝试用 C# 编写游戏,并且正在接收来自用户的键盘控件。 (例如:方向键)
我使用循环来查找游戏过程中的按键操作,我希望按键存储在我的变量中的值不会像按键被持续按下一样。如何重置存储按键的变量?
for (int t = 0; t < 10 || keyStrike.Key == ConsoleKey.Escape; t++) //t is the time of each "up line" : (10 in this case)
{
if (Console.KeyAvailable == true)
keyStrike = Console.ReadKey(true);
int z = x; //saves original position
//slides user right or left
x += ((keyStrike.Key == ConsoleKey.RightArrow) ? 1 : 0) - ((keyStrike.Key == ConsoleKey.LeftArrow) ? 1 : 0);
WriteAt("█", x, 34);
WriteAt(" ", z, 34);
//keyStrike reset here
}
如果您想重置该值,只需使用 default()
keyStrike = default(ConsoleKeyInfo);