ここでは C# を使用します。コンソールアプリを作成しています。テキストを画面に即座に表示するのではなく、テキストをスクロールする方法が 2 つあります。1 つは Console.Write() と同じように機能し、もう 1 つは Console.WriteLine() と同じように機能します。違いは、各文字間に 30 ミリ秒の遅延があることです。キーを押したままにすると、各文字間で最大 5 ミリ秒の遅延が発生するようにしようとしています。問題は、キーを押すと Console.KeyAvailable が true になり、リセットされないため、わずか 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");
}