我想用填充了颜色的pygame.Surface
绘制玩家的生命:
绿色表示玩家的生命接近玩家的最大生命,红色表示玩家的生命低,而我不知道如何选择颜色。
当球员的生命减少时,果岭必须慢慢变红。
答案 0 :(得分:1)
如果您正在寻找变色矩形(或任何其他形状),那么pygame有一些非常有用的draw
命令
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)将是纯白色。
如果您跟踪health
和max_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_value
和red_value
变量,就可以了。