Computer >> Máy Tính >  >> Lập trình >> Python

Di chuyển bóng trong Tkinter Canvas

Tkinter là một thư viện Python tiêu chuẩn được sử dụng để tạo các ứng dụng dựa trên GUI. Để tạo một ứng dụng quả bóng di chuyển đơn giản, chúng ta có thể sử dụng tiện ích Canvas cho phép người dùng thêm hình ảnh, vẽ hình và tạo hoạt ảnh cho các đối tượng. Ứng dụng này có các thành phần sau,

  • Tiện ích Canvas để vẽ hình bầu dục hoặc quả bóng trong cửa sổ.

  • Để di chuyển quả bóng, chúng ta phải xác định một hàm move_ball () . Trong chức năng này, bạn phải xác định vị trí của quả bóng sẽ được cập nhật liên tục khi bóng chạm vào tường canvas (trái, phải, trên và dưới).

  • Để cập nhật vị trí bóng, chúng ta phải sử dụng canvas. after (thời lượng, hàm ()) phản xạ bóng thay đổi vị trí của nó sau một khoảng thời gian nhất định.

  • Cuối cùng, thực thi mã để chạy ứng dụng.

Ví dụ

# Import the required libraries
from tkinter import *

# Create an instance of tkinter frame or window
win=Tk()

# Set the size of the window
win.geometry("700x350")

# Make the window size fixed
win.resizable(False,False)

# Create a canvas widget
canvas=Canvas(win, width=700, height=350)
canvas.pack()

# Create an oval or ball in the canvas widget
ball=canvas.create_oval(10,10,50,50, fill="green3")

# Move the ball
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()

Đầu ra

Chạy đoạn mã trên sẽ hiển thị một cửa sổ ứng dụng có một quả bóng có thể di chuyển được trong canvas.

Di chuyển bóng trong Tkinter Canvas