XNAでTextBoxコントロールを作成していて、GameTime
クラスへのアクセス権がありません。現在、私は点滅するテキストカーソルのキャレットをシミュレートしようとしていますと、正常にこのコードを使用して行っていますタイミングの選択肢は何ですか?
int deltaTickCount = Environment.TickCount - previousTickCount;
if (deltaTickCount < CursorBlinkRate && Selected)
{
spriteBatch.Draw(emptyPixel, new Rectangle(caretLocation, Rectangle.Y + 1, caretWidth, caretHeight), Color.Black);
}
else if (deltaTickCount > CursorBlinkRate * 2)
{
previousTickCount = Environment.TickCount;
}
はしかし、私はEnvironment.TickCount
を使用して少し警戒しています。コンピュータが十分な長さで動作していた場合、ティックカウントが整数サイズを超えたときに、プログラムが最終的にクラッシュしたり、予期しない動作が発生したりすることはありませんか?
Windowsは何をしていますか?私はそれがシステムクロックを使用すると思います。それはより適切な解決策でしょうか?私はティックカウントの代わりに2ミリ秒のようなものを使用したと想像していますが、わかりません。
読んでいただきありがとうございます。単純に変更、整数オーバーフローの場合に何が起こるかで悩まずに