python - 如何使 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()
行不通,但我找不到其他方法。如何使文本上下移动?
解决方案
这是一个非常基本的示例,可以上下移动它:
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
变量以产生您想要的效果。
推荐阅读
- javascript - 如何在按钮单击时更改页面内容或部门内容
- c# - 如何为用户提供选项以在 Identity Server 中更新其自己的信息
- python - 如何写一个文件然后同时读取它?
- r - 根据两个变量创建文件夹和子文件夹
- git - git rebase 一个非常古老的分支
- c++ - 使用 wprintf() 在 WinCE 6 设备上将 HEX MAC 地址转换为 C/C++ 中的 WCHAR 数组
- jmeter - 循环期间Jmeter变量值不变
- google-cloud-platform - 限制我们项目的 G-Suite 电子邮件/服务帐户,以便用户无法将它们添加到他的个人 GCP 项目中
- angularjs - 如何离子将html转换为图像
- java - ANDROID STUDIO:这个项目不是基于 gradle 的项目