Pygame:设置形状的Alpha等级

问题描述 投票:1回答:2

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

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

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

[pxpy是播放器(圆圈)的位置。 alpha只是我认为应该是alpha值的占位符。

任何人有任何想法吗?

python pygame draw
2个回答
4
投票

[draw.circle()不使用alpha,因此您必须在Surface()上绘制(以获得位图),然后将alphacolorkey添加到Surface()

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()

1
投票

pygame.draw.circle

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

© www.soinside.com 2019 - 2024. All rights reserved.