[英]Pygame transparency issue
我有一個相當混亂的問題。 我目前有一個倒計時,理想情況下,我希望倒計時中的文字較為透明(例如大約50%)
pygame.init()
surface = pygame.display.set_mode((0,0))
fontObj = pygame.font.Font('freesansbold.ttf', 600)
textSurfaceObj = fontObj.render("3", True, (255, 255, 255))
textRectObj = textSurfaceObj.get_rect()
textRectObj.center = (surface.get_width() / 2, surface.get_height() / 2)
pygame.mouse.set_visible(False)
while True:
surface.fill(255, 255, 255)
pygame.display.update()
time = str(datetime.datetime.now())
filename = 'photos/' + time.replace(' ', '_') + '.jpg'
for i in xrange(3, 0, -1):
surface.fill(WHITE)
textSurfaceObj = fontObj.render(str(i), True, (255, 0, 0)
surface.blit(textSurfaceObj, textRectObj)
pygame.display.update()
pygame.time.wait(1000)
pygame.display.update()
pygame.time.wait(100);
surface.fill(WHITE)
pygame.display.update()
我嘗試放入surface.set_alpha(50)
但這似乎什么也沒做。 任何建議都非常歡迎!
在pygame中,如果要使用抗鋸齒功能的文本使用顏色鍵(必須渲染透明文本),則必須設置背景顏色。 要獲得所需的結果,您只需要將背景顏色與表面顏色(在這種情況下為白色)匹配即可。 以下代碼(在...中的for i之后開始)對我有用:
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)
編輯:我對這里發生的事情做了一些挖掘,並且此郵件列表中的帖子詳細介紹了導致此問題的后端屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.