Используйте min
для ограничения rect_x
до конца бара:
rect_x = min(200, rect_x + speed_fill)
Бар быстро заполняется. Проблема в том, что ускорение слишком сильное:
speed_fill = speed_fill + 1
Уменьшите ускорение (например, 0,1):
def fill_rect():
global fill_r, fill_v, rect_x, speed_fill
fill(fill_r, fill_v, 0)
rect(width/2 - 100, height/2 - 12.5, rect_x, 25)
if rect_x <= 200:
rect_x = min(200, rect_x + speed_fill)
speed_fill += 0.1
fill_r += 5
fill_v -= 2
![](https://i.stack.imgur.com/9CgFR.gif)
Обратите внимание, частотой кадров можно управлять с помощью frameRate()
.