我是编码的初学者,我正在制作基本的平台游戏。在过去的几天里,我查看了许多不同的资源,并且无法获得清晰的图片。在这一点上,我很难从一个人的方法切换到另一个人的方法。 现在,我正在看这个Pygame tut。我收到以下错误:
File ".../PlayerPlat.py", line 87, in <module>
hero = Player(400, 0)
File ".../PlayerPlat.py", line 10, in __init__
self.rect = pygame.rect(32, 32, 16, 16)
TypeError: 'module' object is not callable
代码如下:
class Player(pygame.sprite.Sprite):
def __init__(self, dx, dy):
self.rect = pygame.rect(32, 32, 16, 16)
self.image = pygame.image.load("hero.png")
self.image.set_colorkey(white)
def move(self, dx, dy):
if dx!=0:
self.move_single_axis(dx, 0)
if dy!=0:
self.move_single_axis(0,dy)
def move_single_axis(self, dx, dy):
self.rect.x +=dx
self.rect.y +=dy
hero = Player(400, 0)
为什么会出错?
答案 0 :(得分:0)
不熟悉pygame,rect
pygame.Rect(32, 32, 16, 16)
应该大写,如{{1}} - 尝试一下。
答案 1 :(得分:0)
该方法使用大写 R 而不是小写r
self.rect = pygame.Rect(32, 32, 16, 16) # capital `R`