1

我将如何设置 pygame 形状的 alpha 值:pygame.draw.circle()

我尝试使用 RGBA 值,但无济于事..这是绘制代码:

pygame.draw.circle(screen, ((0,255,0,alpha)), (px,py), 15)

px是玩家(圈子)的py位置。alpha只是我认为是 alpha 值的占位符。

有人有什么想法吗?

4

2 回答 2

5

draw.circle()不使用alpha所以你必须绘制Surface()(获取位图)并添加alphacolorkeySurface()

import pygame

pygame.init()

screen = pygame.display.set_mode((800, 600), 0, 32)

surface1 = pygame.Surface((100,100))
surface1.set_colorkey((0,0,0))
surface1.set_alpha(128)
pygame.draw.circle(surface1, (0,255,0), (50,50), 50)

surface2 = pygame.Surface((100,100))
surface2.set_colorkey((0,0,0))
surface2.set_alpha(128)
pygame.draw.circle(surface2, (255,0,0), (50,50), 50)

screen.blit(surface1, (100,100))
screen.blit(surface2, (120,120))

pygame.display.update()

RUNNING = True

while RUNNING:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            RUNNING = False

pygame.quit()
于 2013-11-14T02:21:06.910 回答
1

pygame.draw.circle

似乎 circle() 函数不支持 alpha。如果你想通过 pygame 绘制半透明的圆,你可以加载一个包含 alpha(即 PNG)的图像作为表面,然后设置 alpha 值。

于 2013-11-14T02:27:24.370 回答