碰撞矩形

时间:2012-11-23 00:41:26

标签: python pygame

我一直在研究这款游戏,但在碰撞检测时我有一个问题。我可以检查碰撞并让它返回True:

示例:

def collide(self, EnemyTank):
     tank_collision = pygame.sprite.collide_rect(self.rect, EnemyTank.rect)
     if tank_collision == True:
          return True

然后让它执行这样的动作:

if player.collide == True:
     e_tank_x += 0

我是编程的新手所以请耐心等待,我尽我所能努力,任何意见或建议也会非常感激。

1 个答案:

答案 0 :(得分:3)

我不是pygame的专家,但听起来完全合法。我会在你的初始职能中剥夺中间人:

def collide(self, EnemyTank):
      return pygame.sprite.collide_rect(self.rect, EnemyTank.rect)

你需要调整你使用的测试,因为你想要实际检查碰撞,而在你编写时它只是测试函数是否存在冲突;) 你也可以使用隐式测试,删除一些不必要的角色(最好的早期最好的学习)

if player.collide(EnemyTank):
     do your action here

祝你好运!