我有一個名為engine.py. 我有一個特定的功能,我將把它的一部分,因為知道該功能作業正常:
def set_image(self,path : str,spritesheet=None) -> pygame.Surface:
if (path is not None) and (spritesheet is None): # if path is provided but spritesheet is not
try:
self.image = pygame.image.load(path)
print(type(self.image))
self.rect = self.image.get_rect()
except FileNotFoundError as e:
raise e
但是當我嘗試查看blit()函式的影像結果時,我得到一個TypeError宣告,它pygame.Surface必須是第一個引數,而不是None. 我做了一些測驗,結果發現,從功能engine.py的作品就好了,而且,它并正確設定self.image。但是程式沒有它self.image的pygame.Surface物件。
這里是玩家物件被宣告和player.image設定的地方:
player = Engine.Player()
player.image = player.set_image('screensaver/blue_car.png',)
這是我嘗試將blit()它放到我的顯示表面的地方(出現錯誤的那一行):
display.blit(player.image, (0,0))
uj5u.com熱心網友回復:
set_image是一種方法。該方法不回傳影像,但它設定物件的image和rect屬性。所以:
player.image = player.set_image('screensaver/blue_car.png',)
player.set_image('screensaver/blue_car.png')
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/377059.html
上一篇:使用json.load函式時出錯
