所以我在制作Frogger游戏,但遇到了问题。对于碰撞检测,我使用以下命令检查一个Tkinter画布对象是否与另一个对象重叠:
canvas.find_overlapping(*canvas.bbox(imageObj))
但是,我也将背景作为画布对象:
background = self.canvas.create_image(0, 0, image = self.imageData["Background"], anchor = "nw")
因此,程序正在检测播放器与对象24/7之间的碰撞。有没有办法解决?我搜索了SO,然后尝试将背景放在标签中,但是当我将画布包装在上面时,背景消失了(可能是因为画布覆盖了它)。
我找不到不使画布上的对象也透明的方法来使画布透明。我也不想计算每个对象的x和y框,因为那既麻烦又不可靠。
如果有人可以提出其他建议,那将非常棒。
答案 0 :(得分:0)
find_overlapping
方法返回项目列表。只是循环浏览列表,而忽略背景项目。