4

pygame で単純な半透明の長方形を描画しようとしています。私はこのコードを試しました:

import pygame, sys,pygame.mixer

pygame.init()
size = (width, height) = (400, 400)
screen = pygame.display.set_mode(size)
screen.fill((255,255,255))
pygame.draw.rect(screen, (23, 100, 255, 50), (100,100,100,100),0)

running = True
while running:
    for event in pygame.event.get():
       if event.type == pygame.QUIT:
            pygame.quit()
            running = False

しかし、ご覧のとおり、長方形は半透明ではありません。(23, 100, 255, 50) ではなく、23, 100, 255, 255) という色を挿入したようなものです。

4

3 に答える 3

4

pygame.draw.rectドキュメントには、アルファ チャネルのサポートは記載されていません。

RGBA サーフェスを作成し、半透明の色で塗りつぶす必要があります。

rect = pygame.Surface((100,100), pygame.SRCALPHA, 32)
rect.fill((23, 100, 255, 50))
screen.blit(rect, (100,100))
于 2012-10-23T11:52:21.330 に答える
0

私はここでこれに似た質問をしました。私がやったのはset_alpha()、アルファ画像に変換してから関数を使用することでした。私の質問に何か役立つものがあるかもしれません。また、半透明の長方形の後ろに不透明度 100% の古いバージョンの長方形が表示されていないことを確認してください。

于 2012-10-24T12:36:07.870 に答える