Source
1size 900 800
2background #05060e
3
4// Orbe & curseur : un gros chemin de cercle identique répété 3× chacun → 2 symboles paramétrés
5// (stops du dégradé en paramètres ; blend/glow restent sur l'appel).
6symbol "Orbe"(c0, c1, c2) {
7 layer "c" {
8 path "M150 0L148.15 23.46L142.66 46.36L133.66 68.1L121.36 88.16L106.07 106.07L88.16 121.36L68.1 133.66L46.36 142.66L23.46 148.15L0 150L-23.46 148.15L-46.36 142.66L-68.1 133.66L-88.16 121.36L-106.07 106.07L-121.36 88.16L-133.66 68.1L-142.66 46.36L-148.15 23.46L-150 0L-148.15 -23.46L-142.66 -46.36L-133.66 -68.1L-121.36 -88.16L-106.07 -106.07L-88.16 -121.36L-68.1 -133.66L-46.36 -142.66L-23.46 -148.15L0 -150L23.46 -148.15L46.36 -142.66L68.1 -133.66L88.16 -121.36L106.07 -106.07L121.36 -88.16L133.66 -68.1L142.66 -46.36L148.15 -23.46Z" fill radial(0.5, 0.5, 0.5, 0:$(c0), 0.35:$(c1), 1:$(c2))
9 }
10}
11symbol "Curseur"(c0, c1, c2) {
12 layer "c" {
13 path "M22 0L21.73 3.44L20.92 6.8L19.6 9.98L17.81 12.94L15.56 15.56L12.94 17.81L9.98 19.6L6.8 20.92L3.44 21.73L0 22L-3.44 21.73L-6.8 20.92L-9.98 19.6L-12.94 17.81L-15.56 15.56L-17.81 12.94L-19.6 9.98L-20.92 6.8L-21.73 3.44L-22 0L-21.73 -3.44L-20.92 -6.8L-19.6 -9.98L-17.81 -12.94L-15.56 -15.56L-12.94 -17.81L-9.98 -19.6L-6.8 -20.92L-3.44 -21.73L0 -22L3.44 -21.73L6.8 -20.92L9.98 -19.6L12.94 -17.81L15.56 -15.56L17.81 -12.94L19.6 -9.98L20.92 -6.8L21.73 -3.44Z" fill radial(0.42, 0.38, 0.62, 0:$(c0), 0.5:$(c1), 1:$(c2))
14 }
15}
16
17var fy1 = -60
18var fy2 = 40
19var fy3 = -30
20
21scene {
22 layer "Fond" {
23 path "M0 0L900 0L900 800L0 800Z" fill radial(0.5, 0.34, 0.7, 0:#141a32, 0.6:#0a0c1a, 1:#04050c)
24 }
25 layer "Lumieres" {
26 instance "Orbe"("#ff2333", "#e01228", "#a0001800") as "OrbeR" at 392,250 pivot 0,0 blend add
27 instance "Orbe"("#1fff52", "#11d63f", "#00a02800") as "OrbeV" at 508,250 pivot 0,0 blend add
28 instance "Orbe"("#2a7bff", "#1a5fe0", "#0030a000") as "OrbeB" at 450,346 pivot 0,0 blend add
29 }
30 layer "Console" {
31 group "Console" at 450,600 pivot 0,0 {
32 layer "c" {
33 path "M-150 -118L150 -118L150 118L-150 118Z" fill linear(90, 0:#222a44, 1:#0c1020)
34 path "M-150 -118L150 -118L150 -110L-150 -110Z" fill #3a456e opacity 0.5
35 path "M-118 -92L-102 -92L-102 92L-118 92Z" fill #070a14
36 path "M-8 -92L8 -92L8 92L-8 92Z" fill #070a14
37 path "M102 -92L118 -92L118 92L102 92Z" fill #070a14
38 instance "Curseur"("#ffe2e8", "#ff5d78", "#c01a38") as "Curseur1" at -110,0 pivot 0,0 filter glow 16 #ff4d6a
39 instance "Curseur"("#dcffe9", "#3dffa0", "#15a85e") as "Curseur2" at 0,0 pivot 0,0 filter glow 16 #3dff8e
40 instance "Curseur"("#d6ecff", "#3db0ff", "#1565c0") as "Curseur3" at 110,0 pivot 0,0 filter glow 16 #3da6ff
41 }
42 }
43 }
44 layer "Indice" {
45 text "glisse les curseurs" at 320,742 font "Geist, system-ui, \"Segoe UI\", sans-serif" size 26 align center line 1.15 color #8a93c0 bold box 260 31.2
46 }
47}
48
49object "Curseur1" {
50 dragY fy1 { confine to Console }
51 y = fy1
52}
53
54object "Curseur2" {
55 dragY fy2 { confine to Console }
56 y = fy2
57}
58
59object "Curseur3" {
60 dragY fy3 { confine to Console }
61 y = fy3
62}
63
64object "OrbeR" {
65 opacity = clamp((92 - fy1) / 184, 0, 1)
66}
67
68object "OrbeV" {
69 opacity = clamp((92 - fy2) / 184, 0, 1)
70}
71
72object "OrbeB" {
73 opacity = clamp((92 - fy3) / 184, 0, 1)
74}
Galerie
FR
FrançaisEnglish

Mélangeur de lumière

Scène animée · 900×800 · 24 img/s
FlatInk
InteractifGlisser
Gérer (admin)
Informations
Type
Scène animée
Dimensions
900 × 800
Cadence
24 img/s
Durée
2.5 s · 60 images
Téléchargements
Page web autonome Ouvrir dans l'éditeur
FlatInk