Создайте диалоговое окно, похожее на видеоигру, которое отображает форматированный текст по буквам - PullRequest
0 голосов
/ 24 апреля 2020

Используя Python 2.7 , pygame, curses и Tkinter, я хочу создать окно, которое отображает «анимированный» текст, выводя его по буквам из списка строк.

Я уже запустил его в консоли, но не могу понять, как сказать окну, что я хочу, чтобы оно отображало текст за буквой из списка строк, вместо того, чтобы просто дать ему строку c для отображения .

Ниже приведен код, который генерирует «анимированный» текст

    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

Наконец, это блок кода, который генерирует и вызывает окно, которое в данный момент просто отображает некоторый текст c:

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()

1 Ответ

0 голосов
/ 24 апреля 2020

Метка не может анимировать текст, отображается только текст c (или изображение). Но вы можете изменить текст в ярлыке каждый раз, когда хотите отобразить следующий текст:

label.config(text=new_text)
...