Files
Techmino/parts/backgrounds/lanterns.lua
MrZ_26 3fbff37095 arm小程序删除答错自动清空
整理代码 框架跟进
2023-08-11 18:29:30 +08:00

48 lines
1.0 KiB
Lua

-- A lantern background which is full of festive atmosphere. Lantern image by ScF
local floor,rnd=math.floor,math.random
local ins,rem=table.insert,table.remove
local mDraw=mDraw
local back={}
local lanterns
local t
function back.init()
lanterns={}
t=0
end
function back.update(dt)
t=t-dt
local H=SCR.h
if t<=0 then
local size=SCR.rad*(2+rnd()*3)/5/2000
local L={
x=SCR.w*rnd(),
y=H*1.1,
vy=size*2,
size=size,
phase=rnd(),
vp=(.02+.02*rnd())*(rnd(2)*2-3),
}
ins(lanterns,L)
t=rnd(.626,1.626)
end
for i=#lanterns,1,-1 do
local L=lanterns[i]
L.y=L.y-L.vy*dt*60
L.phase=(L.phase+L.vp*dt*60)%1
if L.y<-.1*H then
rem(lanterns,i)
end
end
end
function back.draw()
GC.clear(.08,.08,.084)
GC.setColor(1,1,1,.2)
local img=IMG.lanterns
for i=1,#lanterns do
local L=lanterns[i]
mDraw(img[floor(L.phase*6)+1],L.x,L.y,nil,L.size)
end
end
return back