2016-04-16 16 views
0

私はpygameのを使用してスプライトを作成しようとしているが、私は立ち上がるエラーがPythonクラスに「rect」属性がありませんか?

はAttributeErrorあるゲームのメインループを実行しようとすると:「パドル」オブジェクトが属性「RECT」

を持っていませんしかし、私にはすでに私がself.rect = self.paddle.get_rect()を使用しているように見えるので、すでに初期化しているはずです。コードは次のとおりです。

import pygame 

class Paddle(pygame.sprite.Sprite): 
    def __init___(self, screen): 
     pygame.sprite.Sprite.__init__(self) 

     self.paddle = pygame.Surface((100, 40)) 
     self.paddle = self.paddle.convert() 
     self.paddle.fill((0, 0, 0)) 
     self.rect = self.paddle.get_rect() 
     self.rect.left = 200 
     self.rect.top = 400 

     self.__screen = screen 
     self.__dx = 0 

    def change_direction(self, xy_change): 
     self.__dx = xy_change[0] 

    def update(self): 
     if ((self.rect.left > 0) and (self.__dx > 0)) or ((self.rect.left < self.__screen.get_width()) and (self.__dx < 0)): 
      self.rect.left -= (self.__dx*5) 

何か助けてください!あなたは3それが呼び出されることはありませんので、単語のinit(__init__())の2両側があるはず、ワードのinitの後にアンダースコアを持っているのinitで

答えて

関連する問題