bell
The furnace stoker's art. One `drawPose` renders every frame in the sheet from a table of joints, and each of the 42 clips in `Rules.CLIPS` is a handful of key poses tweened through `emberline.pixelkit`.
bell — BELL ODUYA's sprite sheet
The furnace stoker's art. One drawPose renders every frame in the sheet from
a table of joints, and each of the 42 clips in Rules.CLIPS is a handful of
key poses tweened through emberline.pixelkit.
Bell is mass. That single idea drives the whole sheet: the widest silhouette
in the game and the shortest of the four, hips that carry a heavy vertical bob
through the walk, a wind-up longer than the strike on every attack, and a
squash on every landing. throwHit — the command grab — is the centrepiece: he
stretches to 1.14 lifting, holds at the top, then slams to 0.78 with debris
coming off the floor.
He carries a furnace door on his chest with three vents that never go out, and
one shoulder that has been burning for years. super (BLASTFURNACE) opens the
door.
Using it
local Bus = require("emberline.bus")
local art = Bus.registry.art["bell"]
local canvas = Pixel.create({
width = art.cell.width, height = art.cell.height,
pixelSize = art.cell.pixelSize, pivot = art.cell.pivot,
plane = "xy", palette = art.palette,
})
local clips = art.build(canvas) -- { idle = { from, to, fps, loop }, ... }
canvas:setActiveFrame(clips.idle.from)
art.build(handle, order?) draws the sheet and returns the clip index; pass
order (a list of clip names) to draw a subset while iterating on one
animation. art.portrait(handle) draws the cut-in bust into a
art.portraitCell-sized canvas. art.missingClips() returns any name in
Rules.CLIPS the sheet does not provide — it is empty.
Playback runs on setActiveFrame: the component has no notion of a clip
range, so a runtime driving this sheet steps frames between from and to
itself at the clip's fps. The first display of each frame builds that
frame's mesh (about 14 ms); cycling the sheet once after building warms all of
them so no frame costs anything mid-round.
Scoped to this part · feeds back into the world's score.