如何在tkinter中进行冲突?

时间:2016-06-19 14:46:44

标签: python python-3.x user-interface tkinter tkinter-canvas

我正在制作一个蟒蛇游戏,我不确定如何让敌人和玩家发生碰撞。有人能告诉我一个简单的方法来有效地添加碰撞到多个事物。我希望我的python游戏中的敌人与玩家发生碰撞。这是我用来将敌人移动到玩家的代码。此代码移动敌人,但敌人不会与玩家发生碰撞。

if self.canvas.coords(self.man)[0] > self.canvas.coords(Man1.man)[0]:
    self.canvas.move(self.man,-1,0)
if self.canvas.coords(self.man)[0] < self.canvas.coords(Man1.man)[0]:
    self.canvas.move(self.man,1,0)
if self.canvas.coords(self.man)[1] < self.canvas.coords(Man1.man)[1]:
    self.canvas.move(self.man,0,1)
if self.canvas.coords(self.man)[1] > self.canvas.coords(Man1.man)[1]:
    self.canvas.move(self.man,0,-1)

1 个答案:

答案 0 :(得分:1)

您可以使用canvas.overlapping()返回给定矩形中的所有项目。只需给它一个对象的x,y坐标,看看元组是否返回多个。

如果您向我们展示一些代码或提供更多详细信息,我们可以更好地为您提供帮助