[英]Drawn surface transparency in pygame?
我正在編寫一個捕食者 - 獵物模擬使用python和pygame進行圖形表示。 我正在制作它,所以你可以實際上與一個生物“互動”(殺死它,選擇它並在世界各地跟隨它等)。 現在,當你點擊一個生物時,一個粗圓圈(由gfxdraw類中的各種消除鋸齒的圓圈組成)附着它,這意味着你已經成功地選擇了它。
我的目標是使該圓圈透明,但根據文檔,您無法為繪制曲面設置alpha值。 我已經看到了矩形的解決方案(通過創建一個單獨的半透明表面,blitting它,然后在其上繪制矩形),但不是半填充圓。
你有什么建議? 謝謝 :)
看看下面的示例代碼:
import pygame
pygame.init()
screen = pygame.display.set_mode((300, 300))
ck = (127, 33, 33)
size = 25
while True:
if pygame.event.get(pygame.MOUSEBUTTONDOWN):
s = pygame.Surface((50, 50))
# first, "erase" the surface by filling it with a color and
# setting this color as colorkey, so the surface is empty
s.fill(ck)
s.set_colorkey(ck)
pygame.draw.circle(s, (255, 0, 0), (size, size), size, 2)
# after drawing the circle, we can set the
# alpha value (transparency) of the surface
s.set_alpha(75)
x, y = pygame.mouse.get_pos()
screen.blit(s, (x-size, y-size))
pygame.event.poll()
pygame.display.flip()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.