选择颜色在pygame中绘制生命

时间:2018-01-04 17:56:16

标签: python colors pygame

我想用填充了颜色的pygame.Surface绘制玩家的生命: 绿色表示玩家的生命接近玩家的最大生命,红色表示玩家的生命低,而我不知道如何选择颜色。 当球员的生命减少时,果岭必须慢慢变红。

1 个答案:

答案 0 :(得分:1)

如果您正在寻找变色矩形(或任何其他形状),那么pygame有一些非常有用的draw命令

the pygame docs

获取此pygame.draw.rect
pygame.draw.rect()
    draw a rectangle shape
    rect(Surface, color, Rect, width=0) -> Rect

Draws a rectangular shape on the Surface. The given Rect is the area of the 
rectangle. The width argument is the thickness to draw the outer edge. If 
width is zero then the rectangle will be filled.

在这种情况下,color将是红色,绿色和蓝色值的3元素元组。这些都在0到255之间。例如,(255,255,255)将是纯白色。

如果您跟踪healthmax_health变量,那么您可以了解矩形应该是多少红色以及多少应该是绿色。

例如

green_value = 255 * (health / max_health)
red_value =   255 * ((max_health - health) / max_health)

假设您的健康状况是最多100的20,那么您的绿色值将是255的20%,而您的红色值将是255的80%,并且您的pygame.draw.rect功能将占用color

(red_value, green_value, 0)参数

只要您记得更新green_valuered_value变量,就可以了。