1

我一直在研究这个游戏,但在碰撞检测方面我有一个问题。我可以检查碰撞并让它返回 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

我是编程新手,所以请多多包涵,我正在尽我所能,任何意见或建议也将不胜感激。

4

1 回答 1

3

我不是 pygame 的专家,但它听起来完全合法。我会在您的初始功能中带走中间人:

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

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

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

祝你游戏好运!

于 2012-11-23T00:52:08.680 回答