light_green = (0,200,0,100)
pygame.draw.rect(game_display,light_green,(50,200,60,110))
我知道这在第4节(100)中有alpha属性。但是在背景上应用它时不透明。它只是一个坚固的方块。我希望能够通过广场看到背景。任何帮助总是赞赏。谢谢:)
答案 0 :(得分:1)
绘图模块的功能不会透明。请参阅documentation for draw
大多数参数都接受一个RGB三元组的颜色参数。 这些也可以接受RGBA四联体。 alpha值将是 如果它包含像素alpha,则直接写入Surface,但是 绘制功能不会透明地绘制。
解决方法是使用pygame.gfxdraw
模块中的相应功能,而不是为box
功能添加透明度。
import pygame.gfxdraw
light_green = (0,200,0,100)
pygame.gfxdraw.box(game_display, pygame.Rect(50,200,60,110), light_green)
如果您只想绘制矩形,可以直接填充曲面并将其blit到屏幕。
light_green = (0,200,0,100)
s = pygame.Surface((60, 110), pygame.SRCALPHA)
s.fill(light_green)
game_display.blit(s, (50, 200))