我在代码中有一个进度条,该进度条仅显示绿色,但是我想用播放器的百分比进行修改,如果播放器介于50%到100%之间,则其颜色为绿色,如果小于50等于25时,其颜色为橙色,而小于25%时为红色。 我已附上python代码
如果有人帮助我会很感激
def draw_shield_bar(surf, x, y, pct):
我在代码中有一个进度条,该进度条仅显示绿色,但是我想用播放器的百分比进行修改,如果播放器介于50%到100%之间,则其颜色为绿色,如果小于50等于25时,其颜色为橙色,而小于25%时为红色。我已经附上了python代码
如果有人帮助我会很感激
def draw_shield_bar(surf, x, y, pct):
if pct < 0:
pct = 0
BAR_LENGTH = 100
BAR_HEIGHT = 10
fill = (pct / 100) * BAR_LENGTH
outline_rect = pygame.Rect(x, y, BAR_LENGTH, BAR_HEIGHT)
fill_rect = pygame.Rect(x, y, fill, BAR_HEIGHT)
pygame.draw.rect(surf, GREEN, fill_rect)
pygame.draw.rect(surf, WHITE, outline_rect, 2)
答案 0 :(得分:2)
只需设置颜色取决于百分比:
color = GREEN if pct >= 50 else ORANGE if pct >= 25 else RED
pygame.draw.rect(surf, color, fill_rect)
顺便说一句,pygame.Rect()
的参数必须是整数,因此在计算fill
时,必须使用整数除法运算符(//
),然后浮点除法(/
):
fill = BAR_LENGTH * pct // 100