我一直在研究这款游戏,但在碰撞检测时我有一个问题。我可以检查碰撞并让它返回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
我是编程的新手所以请耐心等待,我尽我所能努力,任何意见或建议也会非常感激。
答案 0 :(得分:3)
我不是pygame的专家,但听起来完全合法。我会在你的初始职能中剥夺中间人:
def collide(self, EnemyTank):
return pygame.sprite.collide_rect(self.rect, EnemyTank.rect)
你需要调整你使用的测试,因为你想要实际检查碰撞,而在你编写时它只是测试函数是否存在冲突;) 你也可以使用隐式测试,删除一些不必要的角色(最好的早期最好的学习)
if player.collide(EnemyTank):
do your action here
祝你好运!