今天我们利用canvas绘制、删除图片的的函数,以及鼠标事件的绑定来制作一个简单的九宫格拼图游戏。
首先从网上下九张图,它们是把一张图分割成了九宫图,打乱后显示在canvas画布上。
接下来我们只要实现图片的选中与拖动即可,用到了鼠标左键、按下并拖动左键、鼠标右键和鼠标移动四个事件的绑定。
其他的并不难,直接看完整代码和注释吧:
from tkinter import *
import tkinter as tk
from PIL import Image, ImageTk
import random
a=0 #用来记录绘制的图片编号,其中1-9为初始的9张
List = [1,2,3,4,5,6,7,8,9]
random.shuffle(List) #打乱图片顺序
root = Tk()
root.title("拼图游戏")
root.geometry("1400x690")
canvas = Canvas(root,width=1400, height=690)
canvas.pack()
#获得鼠标位置
def callback(event):
global x,y
x = event.x
y = event.y
#删除刚绘制的图片
def delete(event):
try:
if a>14: #前九张和五条边界线不能删除
canvas.delete(a)
except:
return
#根据鼠