私はRTBを使用してコンソールをシミュレートした小さなゲームで作業しています。ゲーム自体は、コンソールに出力するためのAPI関数を呼び出すLUAスクリプトを実行します。このAPIは、コンソールクラスによってピックアップされたイベント(caliburn microを使用)を起動し、メッセージはRTBに追加されます。RTBに印刷された文字の間に遅延を追加します
メッセージの各文字の間に小さな遅延を追加して、もう少し効果を与えたいと思っています。残念ながら、私はこれでレンガの壁を多少打った。私は簡単に2番目のスレッドとスリープ、またはタイマーを使用して文字の間に遅延を追加することができます。スクリプトが2つのメッセージをコンソールに送信すると、遅いものと同じ時刻に2番目のメッセージが処理され、テキストが文字化けして出力されるという問題にぶつかります。
私は後で、メッセージの中に文字が印刷される間に少しの遅延を持たせる方法ですが、コンソールに出力するための後続の呼び出しを処理する前に終了するまで待機します。
スレッディングは、実際には基本レベルでしか使用していないものです。私は基本的な概念を理解していると思います。しかし、これは私にいくつかの問題を与えている。遅延スレッドが完了するのを待つと、メインスレッドがブロックされ、何も出力されません(したがって、プログラム全体が永遠にハングします)。
うまくいけば、私は十分に説明しました。どんな助けもありがとうございます。
Thread.Sleep&lock()文を見てください - 私たちもコードを見せてください。 –