Pygame Scaling Healthbar

时间:2015-02-22 20:26:21

标签: python math pygame 2d-games

我正在开发类似RPG的游戏,可以在整个过程中提高您的最大健康状况。

我正在尝试创建一个脚本,它将绘制一个100像素宽的健康条,值超过100。

就像,随着健康状况的提高,健康栏的单位会变小。

这是我能想到的最好的:

#Draw Bar
import pygame

def SingleColorBar(surface,color,x,y,value,maxvalue):
    xx=0
    for hp in range(value):
        pygame.draw.rect(surface, color, (x+xx,y,1,32), 0)
        xx+= value/100

这根本无法正常使用!

1 个答案:

答案 0 :(得分:2)

您可以将当前的HP转换为Max HP的比率,然后将您的矩形绘制为多个像素宽。

int(max(min(currentHP / float(maxHP) * health_bar_width, health_bar_width), 0))

这应该为您提供整数百分比,并且介于0和健康栏的像素宽度之间,这样您就不会透支。