#python-3.x #pygame #transparency
#python-3.x #pygame #прозрачность
Вопрос:
Мне нужно иметь «башню», представленную черным прямоугольником, который полностью непрозрачен. Мне также нужно иметь круг, представляющий его диапазон, в котором он может снимать, который является полупрозрачным. Все это должно быть pygame.Поверхность surface с полностью прозрачным фоном. Я, очевидно, использую это в классе, если это необходимо уточнить. Я знаю, как создать полупрозрачную поверхность, но я не могу сделать так, чтобы у нее был прозрачный фон, вместо этого это просто черный ящик.
Комментарии:
1. смотрите примеры с прозрачностью в PyGame
Ответ №1:
Вы должны создать surface и преобразовать в surface с альфа-каналом.
surface = surface.convert_alpha()
Далее вы должны заполнить его цветом, который имеет alpha=0
в [R,G,B,Alpha]
surface.fill([0,0,0,0])
И у вас есть пустая поверхность с прозрачным фоном.
Теперь вы можете рисовать с разной прозрачностью — вам нужно использовать цвета с alpha
— [R,G,B,Alpha]
.
Например, полупрозрачный круг ( transparency 50%
= alpha=128
)
pygame.draw.circle(surface, (0,0,0, 128), (100, 100), 100)
С alpha=0
он будет невидимым, с alpha=255
он будет полностью непрозрачным.
Если у вас есть .png
с прозрачностью, вы можете использовать .convert_alpha()
после загрузки, чтобы получить прозрачность.
image = pygame.image.load("file.png").convert_alpha()
Смотрите примеры с прозрачностью в PyGame
Комментарии:
1. Спасибо, чувак, это действительно поставило меня в тупик, но ваше решение сработало отлично!