Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
';rect';Python类中缺少属性?_Python_Python 2.7_Class_Pygame - Fatal编程技术网

';rect';Python类中缺少属性?

';rect';Python类中缺少属性?,python,python-2.7,class,pygame,Python,Python 2.7,Class,Pygame,我试图使用pygame制作一个精灵,但是当我尝试运行主游戏循环时,出现的错误是 AttributeError:“拨片”对象没有属性“rect” 然而,在我看来,我已经使用了self.rect=self.palle.get_rect(),所以它应该意味着我已经初始化了它?代码如下: import pygame class Paddle(pygame.sprite.Sprite): def __init___(self, screen): pygame.sprite.Spr

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

AttributeError:“拨片”对象没有属性“rect”

然而,在我看来,我已经使用了self.rect=self.palle.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)
导入pygame
班级桨(pygame.sprite.sprite):
定义初始化(自我,屏幕):
pygame.sprite.sprite.\uuuuu init\uuuuuuu(自我)
self.blade=pygame.Surface((100,40))
self.paile=self.paile.convert()
自桨填充((0,0,0))
self.rect=self.patle.get_rect()
self.rect.left=200
self.rect.top=400
self.\u screen=屏幕
self.\uuudx=0
def更改方向(自身、xy更改):
self.\uuudx=xy\u变化[0]
def更新(自我):
如果((self.rect.left>0)和(self.\uu dx>0))或((self.rect.left

感谢您的帮助

在init中,init一词后面有3个下划线,因此它永远不会被调用,init一词的两边都应该有2个下划线(
\uuuuu init\uuu()