2017-04-03 169 views
1

我目前正在嘗試製作一個自動滾動的冒險遊戲,你必須殺死敵人。但是爲了殺死它們,我需要知道如何進行碰撞檢測。我在網上找到的大多數東西都不起作用,我自己也沒有嘗試過。 (我不會使用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'方法嗎? –

回答

0

謝謝大家的幫助,但我已經找到了答案自己:

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