Упростите вещи и нарисуйте столбик из 2 прямоугольников.
Создайте функцию, которая рисует столбец.Функция рисует тонкий внешний прямоугольник и заполненный внутренний прямоугольник.Длина внутреннего прямоугольника зависит от прогресса.progress
- это значение в диапазоне [0, 1].Если это 0, то никакая внутренняя черта не рисуется.Если он равен 1, то внутренний стержень завершен:
def DrawBar(pos, size, borderC, barC, progress):
pygame.draw.rect(screen, borderC, (*pos, *size), 1)
innerPos = (pos[0]+3, pos[1]+3)
innerSize = ((size[0]-6) * progress, size[1]-6)
pygame.draw.rect(screen, barC, (*innerPos, *innerSize))
Определить параметры положения и цвета для стержня:
barPos = (120, 360)
barSize = (200, 20)
borderColor = (0, 0, 0)
barColor = (0, 128, 0)
Определить максимальное количество элементов:
max_a = 350
Когда вы рисуете гриф, то текущий прогресс равен a/max_a
:
DrawBar(barPos, barSize, borderColor, barColor, a/max_a)