属性错误:"pygame。Surface' 对象没有属性 'get' (python 2.7.5)



我开始制作一个游戏,但当我试图启动它时,我得到了这个错误:

Traceback (most recent call last):
File "C:UsersjustyOneDriveDocumentsProgramsParkourparkour.py", line 25, in <module>
Player=classPlayer(player_img,place,velocity)
File "C:UsersjustyOneDriveDocumentsProgramsParkourparkour.py", line 9, in __init__
self.rect=self.image.get.rect()                                                                  
AttributeError: 'pygame.Surface' object has no attribute 'get'

这是完整的代码:

import pygame,sys
from random import *
pygame.init()

class classPlayer(pygame.sprite.Sprite):
def __init__(self,player_img,place,velocity):
pygame.sprite.Sprite.__init__(self)
self.image=pygame.image.load(player_img)
self.rect=self.image.get.rect()             #error
self.rect.left,self.rect.top=place
self.velocity=velocity
def move(self):
self.rect=self.rect.move(self.velocity) 
if self.rect.bottom==400:
self.velocity[0]=self.velocity[0]-self.velocity[0]
screen=pygame.display.set_mode([700,400])
screen.fill([255,255,255])
pygame.display.flip()

jump=True
velocity=0.0
place=[450,900]
On=True
player_img='player.png'
Player=classPlayer(player_img,place,velocity)       #error
groupPlayer=classPlayer(Player)
while On:
for event in pygame.event.get():
if event.type==pygame.QUIT:
On=False
elif event.type==pygame.KEYDOWN:
if event.key==pygame.K_SPACE and jump==True:
velocity=2.0
jump=False
pygame.time.delay(1500)
for G in range(10):
pygame.time.delay(50)
velocity = velocity - 0.4001
pygame.time.delay(20)
screen.fill([255,255,255])
Player.move()
screen.blit(Player.image,Player.rect)
pygame.display.flip()

pygame.quit()

有人能帮忙吗?

您的应用程序中有一个拼写错误:self.image.get.rect()必须是self.image.get_rect():

self.rect=self.image.get.rect()

self.rect = self.image.get_rect() 

最新更新