首页 > 解决方案 > 如何使 tkinter 文本缓慢上下摆动

问题描述

我正在制作一款游戏,我正在尝试让标题上下摆动,就像它在水中一样。我该怎么做呢?

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

from tkinter import *

window = Tk()

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

intro = root.create_text(250, 250, anchor=CENTER, text='foo', fill='black')
# intro.move() This is non-existent.

root.pack()
root.mainloop()

我知道这intro.move()行不通,但我找不到其他方法。如何使文本上下移动?

标签: pythonpython-3.xtkinterlabel

解决方案


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

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变量以产生您想要的效果。


推荐阅读