【发布时间】:2019-08-19 14:06:06
【问题描述】:
尝试创建一个涉及与计算机交互的基于文本的冒险。所以我找到了一种让文本看起来好像是在屏幕上输入的方法,但最初它太慢了,所以我提高了速度,但现在它有点滞后,一次出现几个字符而不是一个字符时间就像在电脑上一样。
我尝试添加fps = 60, time_delta = 1./fps 并增加fps,但它没有做任何事情。
import time
fps = 60
time_delta = 1./fps
def delay_print(s):
for c in s:
sys.stdout.write(c)
sys.stdout.flush()
time.sleep (0.05)
【问题讨论】:
-
我认为 delay_print 函数负责打印字符。如果是,您想增加睡眠时间间隔以延迟字符显示更长的时间
-
使用您的代码创建最小的工作代码,以便我们可以运行它并查看问题。我在您的代码中没有看到
time_delta或fps。 -
仅供参考,您可以查看 Pygame,这样您就不必为这种事情而烦恼...
-
from time import sleep import time fps = 240 time_delta = 8./fps import sys import tkinter import tkinter.messagebox def delay_print(s): for c in s: sys.stdout.write(c) sys.stdout.flush() time.sleep(time_delta) delay_print("第1章\n") delay_print("===========\n") sleep(3) delay_print('你醒了仰面躺着,被雾包围。\n') 睡觉 (1)
标签: python performance frame-rate