我想做一个透明的窗口,为我的游戏启动屏幕。图像是透明的,但我不能使窗口透明(如屏幕、桌面等)。在它的背后)我发现的只是一个不适合的游戏。是否有任何外部库可供我从中提取以实现此目的?顺便说一下,这完全是一个linux项目。所以操作系统也可以。
#Splash Screen
screen = pygame.display.set_mode((680,300), NOFRAME)
splashbg = pygame.image.load("Images/SplashBG.png")
font = pygame.font.Font(None, 36)
pygame.mixer.music.load("OriginalEnd.mp3")
pygame.mixer.music.play(-1)
screen.blit(splashbg,(0,0))
loadingtext = font.render("Loading...", 1, (255,255,255))
screen.blit(loadingtext, (200,250))
pygame.display.flip()
pygame.time.delay(4000)
最佳答案
你可以假装透明地在贫民区翻版。无论如何,这不是一个理想的解决方案,但它可能会起作用。
在启动屏幕之前,请使用pil拍摄桌面的快照,首先将其blit,然后在其上绘制透明图像。这样至少会给人一种透明的错觉。
有点像:
import ImageGrab, Image
im = Imagegrab.grab()
im.save('faux_trans.png','png')
for_trans = pygame.image.load('faux_trans.png').convert()
splash = pygame.image.load....
screen.blit(for_trans, (0,0))
# and so on.
就像我说的,不是最好的解决方案,但如果你启动你的游戏noframe或全屏,你也许可以逃脱它!:)
关于python - Pygame或Python中的透明窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10369973/