"Slowing"输出

"Slowing" output

本文关键字:输出 Slowing      更新时间:2023-10-16

我有一个问题,我不知道如何解释好,但我会尝试...例如,在某些游戏中,文本输出是"慢"的,一个接一个地写 char,而不是一次写完所有的短语......那么,如何复制此行为呢?

我想这样...我可以做一个循环,在那里我写一个 char 然后 usleep 1 毫秒,写一个 char 和 usleep ,等等......还有另一种方法,或者这是我可以实现此技巧的唯一/最好/简单的方法?我正在尝试用 c++ 执行此操作,但欢迎其他建议。

嗯,是的,usleep 是一个解决方案,但你应该线程它,否则它也会减慢你的游戏速度。 不过,从视觉上讲,1ms 可能还不够。我建议你做一些测试看看。

输出?是在终端上制作的?如果是这样,也许您也可以使用一些术语容量。

编辑:您也可以使用时钟!

如果您问我,使用单独的线程来更新一段文本会浪费资源。我建议这样做的方式是定义一些应该在一秒钟内显示在屏幕上的字符,然后计算自上次更新文本以来的毫秒数。然后乘以该值

例:

float charsPerSecond = 60/1000;
float lastUpdated;
...
int nrChars = (int) (charsPerSecond * (currentTime - lastUpdated));
//output nrChars characters
lastUpdated = currentTime;