2

我喜欢在等待一段时间后输出字符串的每个字母,以获得打字机效果。

for char in string:
     libtcod.console_print(0,3,3,char)
     time.sleep(50)

但这会阻塞主线程,并且程序会变为非活动状态。
在完成之前您无法再访问它
注意:使用libtcod

4

1 回答 1

6

除非有什么阻止您这样做,否则只需将其放入线程中即可。

import threading
import time

class Typewriter(threading.Thread):
    def __init__(self, your_string):
        threading.Thread.__init__(self)
        self.my_string = your_string

    def run(self):
        for char in self.my_string:
            libtcod.console_print(0,3,3,char)
            time.sleep(50)

# make it type!
typer = Typewriter(your_string)
typer.start()
# wait for it to finish
typer.join()

这将防止睡眠阻塞您的主要功能。

线程的文档可以在这里找到
一个像样的例子可以在这里找到

于 2013-05-22T12:42:59.100 回答