我上了一个名为Player的课程。我设法在屏幕上显示它(作为一个划子),但当我试图移动它(按下键盘上的箭头)时,游戏崩溃,我留下了这个错误:
Traceback (most recent call last): File
"C:/Users/Optimus/Desktop/PongGame.py", line 37, in
player.controlkeys() File "C:/Users/Optimus/Desktop/PongGame.py", line 23, in controlkeys
self.rect.move_ip(-50, 0) AttributeError: 'Player' object has no attribute 'rect'
代码(类别):
class Player(object):
def __init__(self):
self.playerpaddle = pygame.rect.Rect((40,350,35,100))
def controlkeys(self):
key = pygame.key.get_pressed()
if key[pygame.K_DOWN]:
self.rect.move_ip(-50, 0)
def draw(self, screen):
self.draw = pygame.draw.rect(screen, white, self.playerpaddle)
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
player = Player()
player.draw(screen)
player.controlkeys()
pygame.display.update()
完整代码:http://pastebin.com/inwVgcsk。 我做错什么了?在
您的播放器对象只有一个您定义的属性:playerpaddle。没有元素rect。但是,请注意playerpaddle属于Rect类型。我怀疑你想要的是
您并不是要移动一个特定的矩形,它的对象将具有类Rect的属性。在
这样你就清楚了吗?在
相关问题 更多 >
编程相关推荐