【问题标题】:How to increase 'framerate' or text print speed? (Text-based-adventure game)如何提高“帧率”或文本打印速度? (文字冒险游戏)
【发布时间】: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_deltafps
  • 仅供参考,您可以查看 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


【解决方案1】:

您尝试更改 fpstime_delta 的值,但您没有在命令中使用它们

time.sleep (0.05)

你可能想要

time.sleep(time_delta)

【讨论】:

  • 感谢玛丽安这么快回复我。我已经将 time.sleep(0.05) 切换到 time.sleep(time_delta) 并摆弄了这些值但没有变化。我可以改变东西出来的速度,但速度越快,它一次发出的字母就越多,如果这有意义的话?
猜你喜欢
  • 2016-08-25
  • 2012-05-13
  • 2013-07-08
  • 1970-01-01
  • 1970-01-01
  • 2021-06-30
  • 2018-07-28
  • 1970-01-01
相关资源
最近更新 更多