2

うまく説明する方法がわからないという質問がありますが、試してみます...たとえば、一部のゲームでは、テキスト出力が「遅い」ため、文字が次々に書き込まれ、すべてのフレーズが1つに含まれるわけではありません。時間...では、どうすればこの動作を再現できますか?

私はこのように考えています...私はループを行うことができ、1ミリ秒の間charとusleepを書き、charとusleepを書くなど...別の方法があるか、これが唯一/最良/単純な方法ですこのトリックを実装できますか?私はこれをC++で行おうとしていますが、他の提案も歓迎します。

4

2 に答える 2

0

はい、usleep は解決策ですが、スレッド化する必要があります。そうしないと、ゲームも遅くなります。ただし、視覚的には 1 ミリ秒では不十分かもしれません。確認するために、いくつかのテストを行うことをお勧めします。

出力?端末で作られていますか?もしそうなら、多分あなたはいくつかの期間能力も使うことができます.

編集:時計も使用できます!!

于 2012-06-29T15:55:49.960 に答える
0

私に言わせれば、テキストの一部を更新するためだけに別のスレッドを使用することは、リソースの無駄遣いになるでしょう。これを行うことをお勧めする方法は、1 秒間に画面に表示されるはずの文字数を定義し、最後にテキストを更新してからのミリ秒数をカウントすることです。次に、その値を掛けます

例:

float charsPerSecond = 60/1000;
float lastUpdated;
...
int nrChars = (int) (charsPerSecond * (currentTime - lastUpdated));
//output nrChars characters
lastUpdated = currentTime;
于 2012-06-29T16:05:33.847 に答える