Python Tkinter画布碰撞检测?

Python Tkinter画布碰撞检测?,python,python-3.x,canvas,tkinter,Python,Python 3.x,Canvas,Tkinter,我目前正在尝试制作一个自我滚动的冒险游戏,在那里你必须杀死敌人。但是为了杀死他们,我需要知道如何进行碰撞检测。我在网上找到的大多数东西都不起作用,我自己的尝试也不起作用。 (我不会用Pygame) 提前感谢您的帮助。谢谢大家的帮助,但我自己也找到了答案: a = canvas.bbox(object) b = canvas.bbox(object2) if b[0] in range(a[0],a[2]) or b[2] in range(a[0],a[2]) and b[1] in range

我目前正在尝试制作一个自我滚动的冒险游戏,在那里你必须杀死敌人。但是为了杀死他们,我需要知道如何进行碰撞检测。我在网上找到的大多数东西都不起作用,我自己的尝试也不起作用。 (我不会用Pygame)


提前感谢您的帮助。

谢谢大家的帮助,但我自己也找到了答案:

a = canvas.bbox(object)
b = canvas.bbox(object2)
if b[0] in range(a[0],a[2]) or b[2] in range(a[0],a[2]) and b[1] in range(a[1],a[3]) or b[3] in range(a[1],a[3]):
    pass #collision

我不知道你为什么不想使用Pygame,这将使这种方式更容易。不过,在使用Tkinter的画布获取对象的边界框后,仍然可以使用标准的边界框碰撞检查方法。至于如何进行边界框碰撞检查,这是一个非常简单的实现,可以用谷歌搜索。它内置于pygame中,但由于您不想使用它,因此只需要一点额外的工作。是的,pygame将是最佳选择。我有一些很好的链接,这将真正帮助你这就是我学习PyGame的地方,让我们看看你的尝试。您是否尝试过在画布上使用
find_overlapping
方法?