我有一個簡單的移動圖像的程序。我嘗試將self.rect作爲load_png()調用的一部分進行聲明,但它根本不喜歡它。究其原因,我認爲這會工作爲http://www.pygame.org/docs/tut/tom/games6.html,他說,這應該工作:self.rect找不到?
def __init__(self, side):
pygame.sprite.Sprite.__init__(self)
self.image, self.rect = load_png('bat.png')
screen = pygame.display.get_surface()
self.area = screen.get_rect()
self.side = side
self.speed = 10
self.state = "still"
self.reinit()
這裏是我的代碼,而根據從自己的網站Pygame的教程,應該工作:
def _init_(self):
pygame.sprite.Sprite._init_(self)
self.state = 'still'
self.image = pygame.image.load('goodGuy.png')
self.rect = self.image.get_rect()
screen = pygame.display.getSurface()
它給了我這個錯誤:
Traceback (most recent call last):
File "C:\Python25\RPG.py", line 37, in <module>
screen.blit(screen, Guy.rect, Guy.rect)
AttributeError: 'goodGuy' object has no attribute 'rect'
如果你們需要我所有的代碼,評論吹,我會編輯它。
您是否根據您提供的鏈接定義了load_png函數? – timc
啊哈!我認爲這是一個內置的python函數。返回image.get_rect()就足夠了,對嗎? –
它在您給我們的代碼示例中定義。 – Xymostech