我一直在从事这款游戏,但是在碰撞检测方面我有一个疑问。我可以检查碰撞是否让它返回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
我是编程新手,所以请您忍受,我正在竭尽全力,任何意见或建议也将不胜感激。
最佳答案
我不是pygame的专家,但这听起来很合理。我只是在您的初始职能中取消中间人:
def collide(self, EnemyTank):
return pygame.sprite.collide_rect(self.rect, EnemyTank.rect)
并且您需要调整使用的测试,因为您要实际检查碰撞,而在编写它时,只需测试函数是否存在碰撞;)
您还可以使用隐式测试,删除一些不必要的字符(最好的方法是尽早学习)
if player.collide(EnemyTank):
do your action here
祝您游戏顺利!
关于python - 碰撞矩形,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13521865/