我正在尝试为我的游戏制作一个透明窗口作为启动屏幕。图像具有透明度,但我无法使窗口透明(例如在其后面看到屏幕、桌面等)。我发现的所有内容都不能使用 pygame。我可以从中提取任何外部库来实现这一点吗?顺便提一句。这完全是一个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)
你总是可以使用 ghetto 版本pretend透明度。无论如何,这都不是一个理想的解决方案,但它可能会起作用。
在启动屏幕之前,使用 PIL 拍摄桌面快照,首先进行 blit,然后在其上绘制透明图像。这样它至少会给illusion透明度。
有点像:
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 或全屏,你也许能够摆脱它! :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)