我有几个sprite组检查彼此的冲突,我想访问精灵组的一个成员的方法,如下所示......
for hit in pygame.sprite.groupcollide(badSprites, Missiles, 0, 1):
hit.health(100)
hit.printMessage("NO")
由于某种原因,hit.printYes
方法有效但hit.health
方法给我一个类型错误
TypeError:'int'对象不可调用
这是碰撞对象里面的方法......
def health(self, damage):
self.damage = damage
self.health -= damage
return self.health
def printMessage(self, message):
print(message)
正如你所看到的,我只想改变物体与导弹发生碰撞时的健康状况,但看起来我只能传递字符串而不是数字。我尝试将“100”作为字符串发送,然后在health()内输入,但这也不起作用。也许我的代码在其他地方是错误的。
答案 0 :(得分:1)
您不能拥有与属性同名的方法,将方法更改为set_health或类似的东西