Pygameでゲームをコーディング中に問題が発生しました。'tuple'オブジェクトは呼び出し可能ではありません - Pygame
プレイヤーが撮影できるようにする機能を扱っている間、私はこのエラーを得続ける:「タプル」オブジェクトは、呼び出すことはできません」
私のメインプログラムでは、 『ループ』サブルーチン:
play=True
sprites,platforms,player1=GameClass.Game.run('') # Player 1 is defined here.
display.fill(WHITE)
GameClass.Game.restart(player1)
display.fill(WHITE)
while play:
display.fill(WHITE)
GameClass.Game.getevent(player1)
platforms.draw(display)
sprites.draw(display)
pygame.display.update()
collision=pygame.sprite.spritecollide(player1,platforms, False)
if collision:
player1.updateposition(True,False)
else:
player1.updateposition(False,False)
ご覧のとおり、player1が定義されています。次に、selfをパラメータとして持つGameClass.Game.geteventを呼び出します。
私はコードをプレーヤー1を渡すと、この行を取得:自己として
if event.type==pygame.MOUSEBUTTONDOWN:
if event.button==1:
PlayerClasses.Player.shoot(self)
がまだplayer1に割り当てられている、それが最後のセクションで、箇条書きのクラスに通って移動します。
class Bullet(pygame.sprite.Sprite):
def __init__(self,speed,Game):
self.speed=speed
self.image=pygame.Surface((10,10))
self.rect=self.image.get_rect()
#self.x,self.y=Player.exportlocation(player1)
def movebullet(self):
self.rect.center((self.x+self.speed),self.y)
私はエラーを取得する:
(必要であれば、ここではよりアップあり)
File "C:\Users\Luke\Desktop\Year13CA\Base.py", line 293, in loop
GameClass.Game.getevent(player1)
File "C:\Users\Luke\Desktop\Year13CA\GameClass.py", line 64, in getevent
PlayerClasses.Player.shoot(self)
File "C:\Users\Luke\Desktop\Year13CA\PlayerClasses.py", line 77, in shoot
Bullet.movebullet(self)
File "C:\Users\Luke\Desktop\Year13CA\PlayerClasses.py", line 96, in movebullet
self.rect.center((self.x+self.speed),self.y)
TypeError: 'tuple' object is not callable
この問題が発生した理由を私は知りません。
多くのおかげで、 ルーク
'self.rect.center'はタプル、ない機能であるかのように見えます。 – Carcigenicate
'self.rect.center'はどこに定義されていますか? –