使 canvas 背景透明 - python

Make canvas background transparent - python

所以我正在制作 Frogger 游戏,但是遇到了 运行 问题。对于碰撞检测,我使用以下方法检查一个 Tkinter canvas 对象是否与另一个对象重叠:

canvas.find_overlapping(*canvas.bbox(imageObj))

但是,我也将背景设为 canvas 对象:

background = self.canvas.create_image(0, 0, image = self.imageData["Background"], anchor = "nw")

因此程序正在全天候检测玩家与物体之间的碰撞。有没有办法解决?我搜索了 SO 并尝试将背景放在标签中,但是当我将 canvas 放在它上面时,背景消失了(可能是因为 canvas 覆盖了它)。

我无法找到使 canvas 透明而不使其上的对象也透明的方法。我也不想计算每个对象的 x 和 y 框,因为那样既麻烦又不可靠。

如果有人能提出另一种方法,那就太棒了。

find_overlapping 方法 returns 项目列表。只需循环浏览列表并忽略背景项。