Как заставить текст tkinter качаться вверх и вниз медленно - PullRequest
0 голосов
/ 15 апреля 2019

Я создаю игру, и я пытаюсь заставить название качаться вверх и вниз, как будто оно в воде. Как мне это сделать?

Я пытался использовать 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 Ответ

3 голосов
/ 15 апреля 2019

Вот очень простой пример, который перемещает его вверх и вниз:

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

Попробуйте поэкспериментировать с переменными speed и mov, чтобы получить нужный эффект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...