创建一个类似于视频游戏的对话框,逐字显示格式化的文本。

问题描述 投票:0回答:1

使用 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()
python-2.7 tkinter pygame
1个回答
0
投票

标签不能对文本进行动画,只能显示静态文本(或图像)。但你可以改变标签中的文本,以便每次显示下一个文本。

label.config(text=new_text)
© www.soinside.com 2019 - 2024. All rights reserved.