【发布时间】:2017-03-19 05:31:25
【问题描述】:
我是 Python 新手,我有一个程序有 2 个类,一个本质上是矩形,另一个本质上是圆形。我正在使用Tkinter 中的Canvas 按以下方式绘制它们:
def draw(self):
self.canvas.delete("all")
self.rect.draw(self.canvas)
self.ball.draw(self.canvas)
Ball 类有它的位置变量和直径变量,Rect 类有它的位置和尺寸变量。
我想知道如何检测这两个“形状”之间的碰撞。我知道一个是将Ball 视为正方形并进行基本的矩形碰撞,但我想知道如何精确。
我还想知道在 Python 中是否有任何类似于在 Java 中进行形状碰撞的方式。在我的 Java 游戏中,我使用以下代码来检测任意 2 个Shapes 之间的冲突:
public boolean collisionCheck(Shape a, Shape b) {
Area aA = new Area(a);
Area aB = new Area(b);
aA.intersect(aB);
return !aA.isEmpty();
}
在 Python 中有什么类似于这个简单的解决方案的吗? 如果不是,我将如何在 Python 中进行圆矩形碰撞?
感谢您的帮助
【问题讨论】:
标签: python canvas tkinter collision-detection