代码之家  ›  专栏  ›  技术社区  ›  Rohan

使画布背景透明-python

  •  -1
  • Rohan  · 技术社区  · 6 年前

    所以我正在做一个青蛙游戏,但遇到了一个问题。对于碰撞检测,我使用以下方法检查一个Tkinter画布对象是否与另一个对象重叠:

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

    但是,我也将背景设置为画布对象:

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

    所以程序24/7检测播放器和物体之间的碰撞。有办法解决这个问题吗?我搜索了一下,试着把背景放在标签上,但当我把画布放在上面时,背景就消失了(可能是因为画布盖住了它)。

    如果画布上的对象不透明,我就找不到使其透明的方法。我也不想计算每个对象的x和y框,因为这只是繁琐和不可靠的。

    如果有人能提出别的建议,那就太棒了。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Bryan Oakley    6 年前

    这个 find_overlapping 方法返回项列表。只需循环浏览列表并忽略背景项。