2011-02-24 19 views
2

を表示せずにビデオモードを設定する基本的に私は、ディスプレイ(画面)を表示する前にpygame.Surface.convert_alpha()を使用する必要がありますが、そうしようとすると、次の例外が発生します:pygameの:ディスプレイ

 image = image.convert_alpha() 
pygame.error: No video mode has been set 

私はそれをどのように行うことができます?

答えて

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 
1

あなたがビデオモードを設定する必要があります。

w = 640 
h = 480 
surface = pygame.display.set_mode((w, h)) 
image = image.convert_alpha() 
+0

おかげで、それは私が行うにはしたくない、まさにです。 –

3

このメッセージは古いかもしれないが、それは他の誰かを助けることができる:これは正常に動作します を、汚いやり方で:どうやら

pygame.display.set_mode((1,1), pygame.NOFRAME) 
image = pygame.image.load("image.png") 
image = image.convert_alpha() 
+0

はい、私は実際にそれをしばらく使用しました。あなたが言うように、それは動作しますが、それは汚いです。 –