1

次のコードを使用して、透明な画像をpygameにロードしようとしています:

def load_image(name, colorkey=None):
    fullname = os.path.join('data', name)
    try:
        image = pygame.image.load(fullname)
    except pygame.error, message:
        print 'Cannot load image:', fullname
        raise SystemExit, message
    image = image.convert()
    if colorkey is not None:
        if colorkey is -1:
            colorkey = image.get_at((0,0))
        image.set_colorkey(colorkey, RLEACCEL)
    return image, image.get_rect()

何らかの理由で、画像を読み込むたびに背景が自動的に黒に変更されますか? この場合、カラーキーを使用していません。ゲームの背景が常に変化しているため、画像の周りに白い境界線が表示されるためです。

何か案は?

ありがとうございます。それでは、お元気で

4

1 に答える 1

3

image.convert()を呼び出します。Surface.convertのドキュメントから:

「変換されたサーフェスにはピクセルアルファがありません。元のサーフェスにピクセルアルファがある場合は削除されます 。Surface.convert_alphaを参照してください。ピクセルごとのアルファを保持または作成するために、ピクセルごとのアルファを含む画像のピクセル形式を変更してください。」

于 2009-09-30T09:22:54.637 に答える