在Tkinter Canvas中移动球

在Tkinter Canvas中移动球

Tkinter是一个标准的Python库,用于创建基于GUI的应用程序。要创建一个简单的移动球应用程序,可以使用Canvas部件,它允许用户添加图像、绘制形状和动画对象。该应用程序具有以下组件,

  • 在窗口中绘制椭圆形或球的Canvas部件。

  • 要移动球,我们必须定义一个名为 move_ball() 的函数。在函数中,必须定义球的位置,当球撞击画布的墙壁(左、右、上和下)时位置会不断更新。

  • 要更新球的位置,我们必须使用 canvas.after(duration, function()) ,它会反映球在一定时间间隔后改变其位置。

  • 最后,执行代码来运行应用程序。

示例

# 导入所需的库
from tkinter import *

# 创建一个tkinter窗口实例
win=Tk()

# 设置窗口大小
win.geometry("700x350")

# 设置窗口大小为固定
win.resizable(False,False)

# 创建一个画布部件
canvas=Canvas(win, width=700, height=350)
canvas.pack()

# 在画布部件中创建一个椭圆形或球
ball=canvas.create_oval(10,10,50,50, fill="green3")

# 移动球
xspeed=yspeed=3

def move_ball():
   global xspeed, yspeed

   canvas.move(ball, xspeed, yspeed)
   (leftpos, toppos, rightpos, bottompos)=canvas.coords(ball)
   if leftpos <=0 or rightpos>=700:
      xspeed=-xspeed

   if toppos <=0 or bottompos >=350:
      yspeed=-yspeed

   canvas.after(30,move_ball)

canvas.after(30, move_ball)

win.mainloop()
Python

输出

运行上述代码将显示一个应用程序窗口,在画布中有一个可移动的球。

在Tkinter Canvas中移动球

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册