这是我目前为止的代码:
from tkinter import *
import winsound
tk = Tk()
def key(event):
inp = '' + event.char
if inp == 'w':
canvas.move(p1,0,-5)
winsound.Beep(1000,50)
if inp == 's':
canvas.move(p1,0,5)
winsound.Beep(1000,50)
if inp == 'a':
canvas.move(p1,-5,0)
winsound.Beep(1000,50)
if inp == 'd':
canvas.move(p1,5,0)
winsound.Beep(1000,50)
if inp == 'i':
canvas.move(p2,0,-5)
winsound.Beep(700,50)
if inp == 'k':
canvas.move(p2,0,5)
winsound.Beep(700,50)
if inp == 'j':
canvas.move(p2,-5,0)
winsound.Beep(700,50)
if inp == 'l':
canvas.move(p2,5,0)
winsound.Beep(700,50)
def callback(event):
canvas.focus_set()
canvas = Canvas(tk, width=600, height=600)
canvas.bind("<Key>", key)
canvas.bind("<Button-1>", callback)
canvas.pack()
p1 = canvas.create_polygon(10,10,20,10,15,0,fill='red')
p2 = canvas.create_polygon(510,10,520,10,515,0,fill='blue')
tk.update()
tk.mainloop()
我想检查多边形是否相互碰撞,并在发生这种情况时发送“游戏结束”消息
所以当它们碰撞时,我会做print('you lost')
,但我不知道如何检查碰撞。在
{canvas}返回一个包含^所有项的矩形}方法。您可以使用bbox方法来获得给定播放器的直角坐标。如果你有非矩形物体,碰撞检测不会是100%精确,但它可能会足够接近。在
相关问题 更多 >
编程相关推荐