{ | |
"MaxCount": 4000, | |
"Drawable": { | |
"Type": "SkCircleDrawable", | |
"Radius": 2 | |
}, | |
"Code": [ | |
"void effectSpawn(inout Effect effect) {", | |
" effect.lifetime = 4;", | |
"}", | |
"", | |
"void effectUpdate(inout Effect effect) {", | |
" effect.color.r = 0;", | |
" effect.color.g = 1 - effect.age;", | |
" effect.color.b = effect.age;", | |
"", | |
" effect.rate = effect.age < 0.75 ? 800 : 0;", | |
"}", | |
"", | |
"uniform float2 mouse_pos;", | |
"", | |
"void spawn(inout Particle p) {", | |
" p.lifetime = 4;", | |
" p.pos = mouse_pos;", | |
" p.frame = effect.age / 0.75 + mix(-0.05, 0.05, rand(p.seed));", | |
"}", | |
"", | |
"void update(inout Particle p) {", | |
" p.pos = mix(p.pos, text(p.frame).xy, 0.05);", | |
"}", | |
"" | |
], | |
"Bindings": [ | |
{ | |
"Type": "SkTextBinding", | |
"Name": "text", | |
"Text": "HELLO WORLD", | |
"FontSize": 96 | |
} | |
] | |
} |