Tkinter帆布碰撞检测?

Tkinter帆布碰撞检测?

问题描述:

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

感谢您提前帮助。

+0

我不知道为什么你不希望使用pygame的,这将使得这种方式更容易。尽管如此,在使用Tkinter的Canvas [bbox方法](http://effbot.org/tkinterbook/canvas.htm#Tkinter.Canvas.bbox-method)获取对象的边界框后,您可以使用标准边界框碰撞检查方法。至于如何做边界框碰撞检查,这是一个非常简单的实现,可以谷歌搜索。它内置pygame,但由于你不想使用它,它只需要一点额外的工作。 –

+0

是的,pygame将是最好的选择。我有几个伟大的联系,这将真正帮助你... http://programarcadegames.com/index.php?chapter = example_code_platformer&https://www.raywenderlich.com/24252/beginning-game-programming-for-青少年与蟒蛇这些都是我学习pygame –

+1

告诉我们你已经尝试过。你尝试过在画布上使用'find_overlapping'方法吗? –

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

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