Files
8bitMyGoUI/fx/sprites.go
T
ZacharyZhang-NY 8be66c09f2 Add fx components 291-320 and the home scene; Kit.Shot, Kit.Toward
Palette cycling, sky, sun and moon, clouds, starfield, rain, snow,
petals, leaves, fireflies, waterfall, ocean, campfire, lava, aurora,
lightning, mountains and a season scene; scanlines, vignette, screen
shake, flash, dither fades, iris wipes, dissolves, mosaics, glitches,
sparkles, explosions and confetti. Home opens on a live scene in the
palette's season and a strip of all eight palettes.

pixel adds Canvas.Cycled, Sprite.At, SpriteOf, Kit.Toward and
Kit.Shot, which spends a cue under Reduce Motion so it never replays;
display exports Reduce. Gallery grids and the sidebar are one Tab
stop each.
2026-10-12 04:05:25 -04:00

180 lines
2.4 KiB
Go

package fx
import "git.zacharyzhang.com/ZacharyZhang-NY/8bitMyGoUI/pixel"
var smallCloud = pixel.MustSprite(`
.....lll......
..llllllll.l..
.llllllllllll.
llllllllllllll
fllllllllllllf
.ffffffffffff.
`)
var bigCloud = pixel.MustSprite(`
.........llll...........
....llll.llllll.........
..lllllllllllllll.llll..
.lllllllllllllllllllllll
llllllllllllllllllllllll
lllllllllllllllllllllllf
fllllllllllllllllllllllf
.fffllllllllllllllllfff.
...ffffffffffffffffff...
`)
// trees stand in the scene, one per season.
var trees = [4]*pixel.Sprite{
pixel.MustSprite(`
.....AAAAA.....
...AAAaAAAAA...
..AAAAAAAAaAA..
.AAaAAAAAAAAAA.
.AAAAAAaAAAAAA.
AAAAAAAAAAAaAAA
AAaAAAAAAAAAAAA
AAAAAAaAAAAAAAA
.AAAAAAAAAaAAA.
..AAAaAAAAAAA..
...AAAAnAAAA...
.....AnnnA.....
......nnn......
......nnn......
......nnn......
......nnn......
.....nnnnn.....
`),
pixel.MustSprite(`
.....ggggg.....
...ggglgggggg..
..ggllggggggg..
.gggllgggggggg.
.ggggggggggggg.
ggggggggggggggg
ggggggggggggggg
.ggggggggggggg.
.ggggggggggggg.
..ggggggggggg..
...gggnggggg...
.....ggnngg....
......nnn......
......nnn......
......nnn......
......nnn......
.....nnnnn.....
`),
pixel.MustSprite(`
.....yyyyy.....
...yyryyyyay...
..yyyyyyryyyy..
.yyayyyyyyyyry.
.yyyyyryyyyyyy.
yyyryyyyyyayyyy
yyyyyyyyryyyyyy
.yyyayyyyyyyry.
.yyyyyyyyyyyyy.
..yyyryyyyyyy..
...yyyynyyyy...
.....yynnyy....
......nnn......
......nnn......
......nnn......
......nnn......
.....nnnnn.....
`),
pixel.MustSprite(`
.......l.......
......lgl......
.....lgggl.....
......ggg......
....llgggll....
...lgggggggl...
....ggggggg....
...llgggggll...
..lgggggggggl..
...ggggggggg...
..llgggggggll..
.lgggggggggggl.
lgggggggggggggl
......nnn......
......nnn......
......nnn......
.....nnnnn.....
`),
}
// petal turns: face, tilt, edge, tilt back.
var petal = pixel.MustSprite(`
.A.
AAA
.a.
..A
.Aa
a..
...
AAa
...
A..
aA.
..a
`)
// leaf turns about its stem; # takes the leaf's slot.
var leaf = pixel.MustSprite(`
.###.
#####
#####
.###.
..#..
..##.
.###.
####.
.##..
..#..
..#..
..#..
..#..
..#..
..#..
.##..
.###.
.####
..##.
..#..
`)
// twinkle grows from a dot to a star.
var twinkle = pixel.MustSprite(`
.....
.....
..#..
.....
.....
.....
..#..
.###.
..#..
.....
..#..
..#..
#####
..#..
..#..
`)
// nightLit draws Lit art in Ink, bright at night.
func nightLit(g pixel.Canvas, k pixel.Kit) pixel.Canvas {
if k.Palette().Night {
return g.Cycled([]pixel.Slot{pixel.Lit, pixel.Ink}, 1)
}
return g
}