互いに衝突をチェックするスプライト グループがいくつかあり、次のようにスプライト グループの 1 つのメンバーのメソッドにアクセスしたい...
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() 内でキャストを入力しようとしましたが、それも機能しませんでした。おそらく私のコードは他の場所で間違っています。