xref: /third_party/skia/resources/particles/sprite_frame.json
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/skia/resources/particles/
1cb93a386Sopenharmony_ci{
2cb93a386Sopenharmony_ci   "MaxCount": 32,
3cb93a386Sopenharmony_ci   "Drawable": {
4cb93a386Sopenharmony_ci      "Type": "SkImageDrawable",
5cb93a386Sopenharmony_ci      "Path": "images",
6cb93a386Sopenharmony_ci      "Name": "explosion_sprites.png",
7cb93a386Sopenharmony_ci      "Columns": 4,
8cb93a386Sopenharmony_ci      "Rows": 4
9cb93a386Sopenharmony_ci   },
10cb93a386Sopenharmony_ci   "Code": [
11cb93a386Sopenharmony_ci      "void effectSpawn(inout Effect effect) {",
12cb93a386Sopenharmony_ci      "  effect.rate = 8;",
13cb93a386Sopenharmony_ci      "}",
14cb93a386Sopenharmony_ci      "",
15cb93a386Sopenharmony_ci      "float2 circle(inout float seed) {",
16cb93a386Sopenharmony_ci      "  float r = sqrt(rand(seed));",
17cb93a386Sopenharmony_ci      "  float a = rand(seed) * 6.283185;",
18cb93a386Sopenharmony_ci      "  return r * float2(sin(a), cos(a));",
19cb93a386Sopenharmony_ci      "}",
20cb93a386Sopenharmony_ci      "",
21cb93a386Sopenharmony_ci      "void spawn(inout Particle p) {",
22cb93a386Sopenharmony_ci      "  p.lifetime = 1.0 + rand(p.seed) * 2.0;",
23cb93a386Sopenharmony_ci      "  float2 ofs = circle(p.seed) * 60;",
24cb93a386Sopenharmony_ci      "  p.pos += ofs;",
25cb93a386Sopenharmony_ci      "  p.vel = ofs / 3;",
26cb93a386Sopenharmony_ci      "}",
27cb93a386Sopenharmony_ci      "",
28cb93a386Sopenharmony_ci      "void update(inout Particle p) {",
29cb93a386Sopenharmony_ci      "  p.frame = p.age;",
30cb93a386Sopenharmony_ci      "}",
31cb93a386Sopenharmony_ci      ""
32cb93a386Sopenharmony_ci   ],
33cb93a386Sopenharmony_ci   "Bindings": []
34cb93a386Sopenharmony_ci}

Indexes created Thu Nov 07 10:32:03 CST 2024