Fontes vectorielles / trois projections
Sinus, zoom, anneau et perspective
Deux fontes vectorielles alternent sur un scrolltext qui ondule et grossit. Sur le même écran, un anneau de texte rose tourne tandis qu’un troisième texte bleu se projette en perspective. Trois instances de scrolling.New partagent les mêmes banques de contours ; leurs réglages et leurs projections définissent chaque rendu.
Chaque instance choisit sa fonte, sa couleur, son déphasage et sa vitesse. TablePolar transforme un angle et un rayon en position ; RationalGrid règle la projection par ses coefficients. Les contours et la table sont préparés une seule fois, puis le dessin réutilise ses buffers. Les fontes peuvent aussi être associées à Face.Contours pour utiliser du texte avec des caractères de contrôle.
text, _ := scrolling.New(scrolling.Config{
Glyphs: glyphs, Speed: 110, Gap: 24,
Y: 76, Repeat: true, Shape: "flat",
Modes: map[string]scrolling.Mode{
"flat": {
Contours: &scrolling.ContourPainterConfig{
Fonts: fonts, Font: "square",
},
Map: scrolling.Chain(
scrolling.Sine(motion.Wave{
Amplitude: 14, Spatial: .022, Speed: 2,
}).Map, zoomAndTint),
},
},
})
Voir le code complet