python canvas画球
时间: 2023-11-13 15:58:53 浏览: 82
Python中的canvas是一个图形库,可以用来绘制各种形状,包括圆形。在canvas中,可以使用create_oval()方法来绘制圆形,该方法需要提供圆形的左上角和右下角坐标。同时,可以使用move()方法来移动圆形的位置。因此,可以通过不断地移动圆形的位置来实现小球满屏乱跑的效果。
下面是一个简单的示例代码,实现了在canvas上画一个小球并让它满屏乱跑的效果:
```
import tkinter as tk
import random
# 创建窗口和canvas
root = tk.Tk()
canvas = tk.Canvas(root, width=500, height=500)
canvas.pack()
# 画一个小球
ball = canvas.create_oval(0, 0, 20, 20, fill='red')
# 随机生成小球的初始位置和速度
x = random.randint(0, 480)
y = random.randint(0, 480)
vx = random.randint(-5, 5)
vy = random.randint(-5, 5)
# 移动小球的函数
def move_ball():
global x, y, vx, vy
# 移动小球
canvas.move(ball, vx, vy)
x, y = canvas.coords(ball)[:2]
# 碰到边缘反弹
if x < 0 or x > 480:
vx = -vx
if y < 0 or y > 480:
vy = -vy
# 重复调用move_ball函数
canvas.after(50, move_ball)
# 调用move_ball函数开始移动小球
move_ball()
# 进入消息循环
root.mainloop()
```
阅读全文