使用 Python 2.7在Pygame、curses和Tkinter中,我想创建一个显示 "动画 "文本的窗口,从一个字符串列表中逐个字母输出。
我已经在控制台中实现了它的工作,但我不知道如何告诉窗口我想让它从字符串列表中逐一显示文本,而不是只给它一个静态字符串来显示。
以下是生成 "动画" 文字
for text in dialogue:
window.clear()
x,y = 0,1
debug = True
odd = False
for letter in text:
odd = not odd
if letter not in ' |#$%':
add(y, x, letter)
if odd:
sound.play_sound('blip')
而这就是上面调用的函数。
def add(y,x,c):
try:
window.addstr(y, x, c)
window.refresh()
except:
return
最后,这是生成和召唤窗口的代码块,目前只是显示一些静态文本。
window1 = Tkinter.Tk()
window1.geometry("600x300")
window1.title = "Hengoku's Speech"
label = Tkinter.Label(ventana, text = dialogue, font = "Helvetica", bg = "#2A5545")
label.pack(fill = Tkinter.BOTH, expand = True)
window1.mainloop()
标签不能对文本进行动画,只能显示静态文本(或图像)。但你可以改变标签中的文本,以便每次显示下一个文本。
label.config(text=new_text)