- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这里使用 C#。我正在创建一个控制台应用程序。我有两种滚动文本而不是立即在屏幕上显示文本的方法。一个与 Console.Write() 相同,另一个与 Console.WriteLine() 相同。区别在于每个字符之间有 30 毫秒的延迟。我试图做到这一点,当你按住一个键时,它会在每个字符之间加速到 5 毫秒的延迟。问题是,一旦您按下一个键,Console.KeyAvailable 就为真并且不会重置,因此它会继续运行,只有 5 毫秒的延迟。有没有办法将其设置回 false,或者我可以做些什么来实现这一点?这是我的代码:
//Console.Write() version
static void RPGWrite(string write)
{
char[] writearray = write.ToCharArray();
int writearraycount = writearray.Count();
for (int x = 0; x < writearraycount; x++)
{
Console.Write(Convert.ToString(writearray[x]));
if (Console.KeyAvailable == false)
System.Threading.Thread.Sleep(30);
else
System.Threading.Thread.Sleep(5);
}
}
//Console.WriteLine() version
static void RPGWriteLine(string write)
{
char[] writearray = write.ToCharArray();
int writearraycount = writearray.Count();
for (int x = 0; x < writearraycount; x++)
{
Console.Write(Convert.ToString(writearray[x]));
if (Console.KeyAvailable == false)
System.Threading.Thread.Sleep(30);
else
System.Threading.Thread.Sleep(5);
}
Console.Write("\n");
}
最佳答案
[nkvu - 将评论中的项目移至此处以防对其他人有帮助]
据我所知,设置 KeyAvailable
返回 false 是您实际上需要从流中读取 key (例如,通过使用 Console.ReadKey
)。
使用 Console.ReadKey(true)
将从流中读取一个字符,而不会回显到控制台供用户查看 - 尽管请注意 MSDN 文档中关于按下 Alt 键的说明, Ctrl 或 Shift 键本身。
关于c# - Console.KeyAvailable - 如何重置此 boolean 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15708289/
这里使用 C#。我正在创建一个控制台应用程序。我有两种滚动文本而不是立即在屏幕上显示文本的方法。一个与 Console.Write() 相同,另一个与 Console.WriteLine() 相同。区
我正在制作贪吃蛇游戏。一切正常,但如果您按下按钮的速度太快,则会出现不幸的行为。在我开始解决这个问题之前,代码在每次循环迭代中处理一次按键,如果您连续多次按下一个键,则需要多次循环才能改变方向。 我最
我是一名优秀的程序员,十分优秀!