基本上,我需要顯示屏的顯示(窗口)前使用pygame.Surface.convert_alpha()
,而是試圖這樣做會引發以下異常:pygame的:設置視頻模式沒有顯示屏的顯示
image = image.convert_alpha()
pygame.error: No video mode has been set
我該怎麼辦呢?
基本上,我需要顯示屏的顯示(窗口)前使用pygame.Surface.convert_alpha()
,而是試圖這樣做會引發以下異常:pygame的:設置視頻模式沒有顯示屏的顯示
image = image.convert_alpha()
pygame.error: No video mode has been set
我該怎麼辦呢?
顯然答案是你不能。
無論如何,這實際上毫無意義,因爲除非您先設置顯示屏,否則無法顯示精靈,或者以其他方式顯示精靈。
我所做的其實是這樣的:
def get_sprite(self):
if not self.converted:
try:
self.sprite = self.sprite.convert_alpha()
except pygame.error:
pass
else:
self.converted = True
return self.sprite
你必須設置視頻模式:
w = 640
h = 480
surface = pygame.display.set_mode((w, h))
image = image.convert_alpha()
此消息可能是舊的,但它可以幫助別人: 這工作得很好,在一個骯髒的方式:
pygame.display.set_mode((1,1), pygame.NOFRAME)
image = pygame.image.load("image.png")
image = image.convert_alpha()
是的,我真的用了一段時間。正如你所說,它有效,但它很髒。 –
謝謝,但是這正是我不想做的事。 –