Genuary 2024 Day 7 - Progress bar / indicator / loading animation

January 07, 2024
pico-8 open-source
Genuary 2024 Day 7 - Progress bar / indicator / loading animation
-- genuary #7 2024
-- progress bar/indicator/loading animation
-- by carson kompon

n=16
by=92
bw=92
bh=16
g=128
?"\^!5f10█⌂ˇ⬅️;⌂"
o={}
f=0
function _update60()
	for i=1,999do
		local x=rnd(g)
		local y=rnd(g)
		circfill(x,y,1,0)
	end
	
	if(f%10==0)add(o,{x=rnd(g),y=-4,v=.5+rnd(1.5),c=chr(32+rnd(64))})
	
	for s in all(o)do
		s.y+=s.v
		print(s.c,s.x,s.y,2)
	end
	
	for i=1,n do
		local d=i/n-(t()/4)
		local s=12+sin(i/n*8+t()/2)*3
		local l=10+cos(i/n*4+t()/2)*3
		local x1=63+cos(d)*s
		local y1=42+sin(d)*s
		local x2=x1+cos(d)*l
		local y2=y1+sin(d)*l
		line(x1,y1,x2,y2,1)
	end
	local hbw=bw/2
	local hbh=bh/2
	local bx1=64-hbw
	local by1=by-hbh
	local bx2=64+hbw
	local by2=by+hbh
	local a=.5+sin(t()/8)/2
	local bbw=(bx2-bx1)*a
	for i=1,(300*a)do
		circfill(bx1+rnd(bbw),by1+rnd(by2-by1),rnd(2*a),3+rnd(3))
	end
	local d=3.1+a*2.8
	rect(bx1-d,by1-d,bx2+d,by2+d,1)
	f+=1
end