我想在屏幕上创建一个透明的按钮和文本,我正在寻找实现的方法,第四个RGB参数和set_alpha
可以使颜色透明
所以我用self.button_color=(0,100,128)
来设置按钮,用self.text.set_alpha(128)
来改变文本的颜色
但是当我运行脚本时,什么都没有改变
这是代码:
#!/usr/bin/python
import sys,os
import pygame
class Setting():
def __init__(self,width,height):
self.w=width
self.h=height
self.flag=pygame.RESIZABLE
self.screen=pygame.display.set_mode((self.w,self.h),self.flag)
self.screen_rect=self.screen.get_rect()
pygame.display.set_caption("Test")
class Button():
def __init__(self,setting,text):
self.width,self.height = 400,100
self.button_color=(0,128)
self.text_color=(255,0)
self.text = pygame.font.Font(None,100).render(text,True,self.text_color)
self.text.set_alpha(128)
self.rect = pygame.Rect(0,self.width,self.height)
self.rect.center = setting.screen_rect.center
self.text_rect = self.text.get_rect()
self.text_rect.center = self.rect.center
def draw_button(self,setting):
setting.screen.fill(self.button_color,self.rect)
setting.screen.blit(self.text,self.text_rect)
def game():
pygame.init()
setting=Setting(1200,800)
button=Button(setting,'PLAY')
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
setting.screen.fill((0,0))
button.draw_button(setting)
pygame.display.flip()
game()