【问题标题】:Using colliderect in Pygame在 Pygame 中使用 colliderect
【发布时间】:2013-04-04 13:01:52
【问题描述】:

如何告诉 python 检测两个对象/图像是否相互接触?例如,当吃豆人的图像碰到幽灵的图像时?

【问题讨论】:

  • 您可能想提供一个示例代码 sn-p 以便更容易回答您的问题

标签: python python-2.7 pygame


【解决方案1】:

http://www.pygame.org/docs/ref/rect.html#pygame.Rect.colliderect

colliderect()

测试两个矩形是否重叠

colliderect(Rect) -> bool

如果任一矩形的任何部分重叠(除了 上+下或左+右边缘)。

如果精灵之间唯一的碰撞检测是在 pac-man 和其他对象之间,那么只需在 pacman 的碰撞矩形和每个其他碰撞矩形的每个组合上调用 colliderect。

如果每个碰撞的组合都有意义,则生成一个包含所有碰撞的大列表和colliderect 每个矩形,每个矩形在列表中更靠前。

每次发生碰撞,您都可以选择做某事 - 您甚至可以调用两个对象,传递发生碰撞的另一个对象,从而允许逻辑包含在一个或两个对象中。

【讨论】:

    【解决方案2】:

    我假设您正在使用Sprites 作为您的 pacman 和 ghost?如果是这样,您需要精灵碰撞功能之一:http://www.pygame.org/docs/ref/sprite.html#pygame.sprite.spritecollide

    否则,请使用 Rect 碰撞 Patashu 链接。

    【讨论】:

      猜你喜欢
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      • 2016-05-08
      • 1970-01-01
      • 2018-06-14
      相关资源
      最近更新 更多