pxl8/src/fnl/demo.fnl

30 lines
714 B
Text
Raw Normal View History

2025-08-13 15:04:49 -05:00
(local pxl8 (require :pxl8))
(var frame 0)
(var pxl8-sprite-id nil)
(var screen nil)
(var time 0)
(global init (fn []
(pxl8.load_palette "./res/palettes/gruvbox.ase")
(set pxl8-sprite-id (pxl8.load_sprite "./res/sprites/pxl8.ase"))
(set screen (pxl8.get_screen))
(when (not pxl8-sprite-id)
(pxl8.error "Failed to load pxl8 sprite"))))
(global update (fn [dt]))
(global draw (fn []
(pxl8.clr 1)
(local cols 5)
(local rows 1024)
(local sprite-w 128)
(local sprite-h 64)
(for [i 0 8192]
(local col (% i cols))
(local row (math.floor (/ i cols)))
(local x (* col (+ sprite-w 4)))
(local y (* row (+ sprite-h 2)))
(pxl8.sprite pxl8-sprite-id x y sprite-w sprite-h))))