clean up, run at 60 fps
now the bounce animation feels like it takes too long, trying to fix it
This commit is contained in:
parent
e1a70cc6fc
commit
e0b784ce7d
@ -54,18 +54,11 @@ end
|
||||
function _draw()
|
||||
cls()
|
||||
draw_hud_placeholder()
|
||||
-- draw_static()
|
||||
left_pane:draw()
|
||||
right_pane:draw()
|
||||
rearm_pane_instance:draw()
|
||||
end
|
||||
|
||||
function draw_static()
|
||||
draw_weap_opt(0,0,frame_col(item==1),1,"hull","\n +1\n max\n health")
|
||||
draw_weap_opt(56,0,frame_col(item==2),2,"vulc"," rate\n\n faster\n firing\n rate")
|
||||
draw_rearm(frame_col(item<0))
|
||||
end
|
||||
|
||||
function _init()
|
||||
item=1
|
||||
bfm=1
|
||||
@ -80,8 +73,8 @@ function _init()
|
||||
rearm_pane_instance = rearm_pane.new{hot=function() return item < 0 end}
|
||||
end
|
||||
|
||||
function _update()
|
||||
crt_frm += 0.5
|
||||
function _update60()
|
||||
crt_frm += 0.25
|
||||
if (crt_frm >= 9) crt_frm = 1
|
||||
if (btn(3) and item > 0 or btn(2) and item < 0) item = -item
|
||||
if (btn(0)) item = 1
|
||||
@ -122,10 +115,10 @@ end
|
||||
crt={-91,-166,-2641,-1441,-23041,23295,-20491,24570}
|
||||
|
||||
function glow_box(x0, y0, x1, y1, c, cf)
|
||||
rect(x0, y0, x1, y1, c[1])
|
||||
rect(x0+1, y0+1, x1-1, y1-1, c[2])
|
||||
rect(x0+2, y0+2, x1-2, y1-2, c[1])
|
||||
rect(x0+3, y0+3, x1-3, y1-3, 0)
|
||||
for i,v in ipairs{c[1],c[2],c[1],0} do
|
||||
i -= 1
|
||||
rect(x0+i,y0+i,x1-i,y1-i,v)
|
||||
end
|
||||
fillp(crt[crt_frm&0xff])
|
||||
rectfill(x0+4, y0+4, x1-4, y1-4, cf)
|
||||
fillp()
|
||||
@ -156,7 +149,7 @@ end
|
||||
-- rearm pane objects
|
||||
easing_pane = mknew{
|
||||
-- to enter: pos = -1; to exit: pos = 1
|
||||
-- runs for 16 frames in, 8 frames out
|
||||
-- runs for 32 frames in, 16 frames out
|
||||
}
|
||||
|
||||
function easing_pane:frac()
|
||||
@ -170,10 +163,9 @@ end
|
||||
function easing_pane:update()
|
||||
local pos = self.pos
|
||||
if (not pos or pos == 0) return
|
||||
-- increment is 0x0.1 -- 1/16th of pos
|
||||
if (pos < 0) pos = min(pos + 0x0.1, 0)
|
||||
if (pos < 0) pos = min(pos + 0x0.05, 0)
|
||||
if pos > 0 then
|
||||
pos -= 0x0.2
|
||||
pos -= 0x0.1
|
||||
if (pos <= 0) pos = nil
|
||||
end
|
||||
self.pos = pos
|
||||
|
Loading…
x
Reference in New Issue
Block a user