Я пытаюсь сделать интерфейс пользователя прозрачным в моей игре, когда мышь над ним не висит. Но по какой-то причине, когда я устанавливаю альфа-значение изображения, чтобы оно стало прозрачным, ничего не происходит. Вот некоторый исполняемый код для него, который повторяет проблему:
import pygame
WHITE = (255, 255, 255)
class UI:
def __init__(self):
self.img = pygame.image.load("ink_bar_solid.png")
self.img.set_alpha(0)
self.ink_bar_rect = self.img.get_bounding_rect()
self.x, self.y = 0, 10
resolution = (500, 500)
screen = pygame.display.set_mode(resolution)
mouse = pygame.mouse.get_pos
ink_bar = UI()
run = True
def mouse_over():
if ink_bar.ink_bar_rect.collidepoint(mouse()):
ink_bar.img.set_alpha(255)
else:
ink_bar.img.set_alpha(0)
while run:
mouse_over()
screen.fill(WHITE)
screen.blit(ink_bar.img, (ink_bar.x, ink_bar.y))
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
break
pygame.display.flip()
pygame.quit()
Любая помощь очень ценится!
Изменить: Я получил комментарий от кого-то, кто сказал, что они использовали свое собственное изображение, и оно работало нормально ... Я получаю это предупреждение при запуске программы:
libpng warning: iCCP: known incorrect sRGB profile
Это причина, по которой он не работает должным образом из-за моего файла?