Python类中缺少'rect'属性?

时间:2016-04-16 16:52:27

标签: python python-2.7 class pygame

我正在尝试使用pygame制作精灵,但是当我尝试运行主游戏循环时出现的错误是

AttributeError:'Paddle'对象没有属性'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)

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

在init中,你在单词init之后有3个下划线,因此它永远不会被调用,单词init(__init__())的任一侧应该有2个