Here is a bar that changes length - but this is for a loading screen, not health -- all you have to do is change what determines the length of the bar (which is right at the top)
FarRight1=screen width()
TotalBar1 = FarRight1 - 50 `(how far from the right of the screen the bar is when full)
IncreaseBar1 = TotalBar1/80 `(how much bigger to make the bar after each single item has been loaded)
CurrentPoint1=50 `(the Current right value of the bar (increased each time an item is loaded, but starts off at 50
SoundNumber=1 `(ignore this)
for load=1 to 80
cls
ink 1,1
box 0,0,screen width(),screen height()
ink rgb(0,127,255),1
box 50,screen height()-100,CurrentPoint1,screen height()-50
if dataload$(load,4)="object"
load object dataload$(load,2),dataload#(objectload)
scale object dataload#(load),500,500,500
position object dataload#(load),-5000,-5000,-5000
hide object dataload#(load)
endif
if dataload$(load,4)="Audio"
if dataload$(load,3)="3D Sound" then load 3dsound dataload$(load,2),val(dataload$(load,4))
if dataload$(load,3)="Music" then load sound dataload$(load,2),val(dataload$(load,4))
endif
if dataload$(load,4)="Texture"
load image dataload$(texturesload,2),val(dataload$(texturesload,3))
endif
if dataload$(load,4)="Skybox"
load object dataload$(objectload,2),val(dataload$(objectload,3))
scale object val(dataload$(objectload,3)),300000,300000,300000
hide object val(dataload$(objectload,3))
endif
color backdrop 1
ink 1,1 `everything black
box 0,0,screen width(),screen height() `create a black box the size of the screen, to cover loading and positioning of objects
inc CurrentPoint1,IncreaseBar1 `(increase where the end of the box is by the /80 sum worked out earlier)
ink rgb(0,127,255),1
box 50,screen height()-100,CurrentPoint1,screen height()-50
ink rgb(255,255,255),1
print "Loading game... Please Wait"
sync
next load
...maybe one day I'll finish a project