基本上我需要在显示一个显示(窗口)之前使用pygame.Surface.convert_alpha()
,但尝试这样做会引发以下异常:
image = image.convert_alpha()
pygame.error: No video mode has been set
我该怎么做?
答案 0 :(得分:3)
此消息可能已过时但可能有助于其他人: 这样做很好,很脏:
pygame.display.set_mode((1,1), pygame.NOFRAME)
image = pygame.image.load("image.png")
image = image.convert_alpha()
答案 1 :(得分:1)
您必须设置视频模式:
w = 640
h = 480
surface = pygame.display.set_mode((w, h))
image = image.convert_alpha()
答案 2 :(得分:1)
显然答案是你不能。
无论如何,这实际上是毫无意义的,因为你不能显示精灵,convert_alpha
'或其他,除非你先设置一个显示。
我所做的实际上是以下内容:
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