Python 游戏透明度问题

Python 游戏透明度问题,python,pygame,transparency,transparent,Python,Pygame,Transparency,Transparent,我有一个相当令人困惑的问题。我现在有一个倒计时,我希望倒计时的文本有点透明(比如说50%左右) 我试着把surface.set_alpha(50)放进去,但那似乎没什么用。欢迎提出任何建议 在pygame中,如果要使用颜色键(允许渲染透明文本),则必须为抗锯齿文本设置背景色。要获得想要的结果,只需将背景颜色与表面颜色匹配,在本例中为白色。以下代码(在for i in…)之后立即开始)适用于我: surface.fill(WHITE) textSurfaceObj = fontObj.render

我有一个相当令人困惑的问题。我现在有一个倒计时,我希望倒计时的文本有点透明(比如说50%左右)


我试着把
surface.set_alpha(50)
放进去,但那似乎没什么用。欢迎提出任何建议

在pygame中,如果要使用颜色键(允许渲染透明文本),则必须为抗锯齿文本设置背景色。要获得想要的结果,只需将背景颜色与表面颜色匹配,在本例中为白色。以下代码(在for i in…)之后立即开始)适用于我:

surface.fill(WHITE)
textSurfaceObj = fontObj.render(str(i), True, (255, 0, 0),WHITE)
textSurfaceObj.set_alpha(50)
surface.blit(textSurfaceObj,(0,0))
pygame.display.update()
pygame.time.wait(500)

编辑:我对这里发生的事情做了一些挖掘,并为感兴趣的人详细介绍了导致这种情况的后端属性

在pygame中,如果要使用颜色键(允许渲染透明文本),则必须为抗锯齿文本设置背景色。要获得想要的结果,只需将背景颜色与表面颜色匹配,在本例中为白色。以下代码(在for i in…)之后立即开始)适用于我:

surface.fill(WHITE)
textSurfaceObj = fontObj.render(str(i), True, (255, 0, 0),WHITE)
textSurfaceObj.set_alpha(50)
surface.blit(textSurfaceObj,(0,0))
pygame.display.update()
pygame.time.wait(500)

编辑:我对这里发生的事情做了一些挖掘,并为感兴趣的人详细介绍了导致这种情况的后端属性

你试过使用textSurfaceObj.set_alpha(50)吗?谢谢你的快速回复!我没有,但在尝试之后,它没有产生任何结果。请尝试将.convert()添加到字体呈现的末尾,即:
textSurfaceObj=fontObj.render(str(I),True,(255,0,0).convert()
并且仍在为该曲面设置alpha。感谢您的快速回复。遗憾的是,这会将我的红色文本变成一个完全填充的红色矩形块。您是否尝试过使用textSurfaceObj.set_alpha(50)?感谢您的快速回复!我没有,但尝试后,没有产生任何结果。请尝试添加.convert()到字体呈现的结尾,即:
textSurfaceObj=fontObj.render(str(i),True,(255,0,0).convert()
并且仍然为该曲面设置alpha。感谢您的快速回复。遗憾的是,这将我的红色文本变成完全填充的红色矩形块。您完全正确,这为我解决了问题!谢谢。您完全正确,这为我解决了问题!谢谢。