如何在同一个python程序中以不同的方式打印文本?
我正在制作一个基于文本的游戏,我的文本目前正在逐字打印,但对于游戏中的一个特定场景,我希望它一次全部显示出来 这是允许它逐字显示的代码部分如何在同一个python程序中以不同的方式打印文本?,python,input,text,Python,Input,Text,我正在制作一个基于文本的游戏,我的文本目前正在逐字打印,但对于游戏中的一个特定场景,我希望它一次全部显示出来 这是允许它逐字显示的代码部分 import time import sys import keyboard def print(s): for c in s: if keyboard.is_pressed("ctrl"): sys.stdout.write(c) sys.stdout.flu
import time
import sys
import keyboard
def print(s):
for c in s:
if keyboard.is_pressed("ctrl"):
sys.stdout.write(c)
sys.stdout.flush()
else:
sys.stdout.write(c)
sys.stdout.flush()
time.sleep(0.025)
它还允许用户在文本显示时按CTRL键,以立即显示其余文本,这样他们就不必等待
现在只要我用这种印刷品
print ("sample text")
input ("*KNOCK*")
文本逐字显示,除了这一部分外,对于大多数游戏来说都是不错的
print ("sample text")
input("\n[Press enter to continue]\n")
print ("*KNOCK*")
理想情况下,我希望敲门声立即出现
如果我使用这样的输入
print ("sample text")
input ("*KNOCK*")
文本确实会立即显示,但用户必须按enter键才能获取下一部分。
理想情况下,我只想让它自动转到下一个打印部分
我的最佳解决方案是什么?不要将其称为
print
,因为这会覆盖内置的print
功能。只要叫它别的东西,你就可以使用print
即时显示东西。您可以将其命名为print\u characters\u individually
修改print函数以使用第二个参数,例如x,如果x为真,则正常打印,否则逐字打印