如何使Tkinter文本缓慢上下摆动

时间:2019-04-15 00:55:33

标签: python python-3.x tkinter label

我正在制作游戏,并且我试图使标题像在水中一样上下波动。我该怎么做?

我尝试使用intro.move(),但是我意识到这是一个不存在的函数。

from tkinter import *

window = Tk()

root = Canvas(window, width=500, height=500, bg='limegreen')

intro = root.create_text(250, 250, anchor=CENTER, font=('Calibri', 48), text=' Welcome to the \n     Putt Tracker', fill='black')
# intro.move() This is non-existent.

root.pack()
root.mainloop()

我知道intro.move()不起作用,但是我找不到其他方法。如何使文字上下移动?

1 个答案:

答案 0 :(得分:3)

这是一个非常基本的示例,可以上下移动它:

from tkinter import *

window = Tk()

root = Canvas(window, width=500, height=500, bg='limegreen')

intro = root.create_text(250, 250, anchor=CENTER, font=('Calibri', 48), text=' Welcome to the \n     Putt Tracker', fill='black')
# intro.move() This is non-existent.

max_mov, min_mov = 5, -5
mov = max_mov
speed = 0.5
def bob():
    global mov, speed
    root.move(intro, 0, mov)
    if mov == max_mov:
        speed = -abs(speed)
    elif mov == -min_mov:
        speed = abs(speed)
    mov += speed
    mov = round(mov, 2)
    window.after(10, bob)

window.after(10, bob)

root.pack()
root.mainloop()

尝试修改speedmov变量以产生所需的效果。