[英]AttributeError: 'pygame.Surface' object has no attribute 'pygame'
[英]AttributeError: 'pygame.Surface' object has no attribute 'get' (python 2.7.5)
我開始制作游戲,但當我嘗試啟動它時出現此錯誤:
Traceback (most recent call last):
File "C:\Users\justy\OneDrive\Documents\Programs\Parkour\parkour.py", line 25, in <module>
Player=classPlayer(player_img,place,velocity)
File "C:\Users\justy\OneDrive\Documents\Programs\Parkour\parkour.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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.