@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a7931a4ba2104bbf7de3a1332617d5a056e34c55bab751821a168a83e0b91793
|
||||
size 683910
|
||||
oid sha256:9d8a4254944d83882513a062e77406419d94c3058a7ad657a5a318d45cc5443f
|
||||
size 902131
|
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 14 KiB |
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:746c6cf3f0284798a78c08f77d7e9d0c28b02323081fda42b5fa876a7ade29a0
|
||||
size 205925
|
||||
oid sha256:40d458f800344d819ad4d3f38943f53f399258369ee5c20f6583d1b49847465f
|
||||
size 188255
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:037d27409bf78b828470e553ee0f29304eda24c46598151bb4b9c69c66a6c6c1
|
||||
size 146363
|
||||
oid sha256:27c8d1eaa48beb7187e37244bd6ef7f43429be84ac88fffa96a4d72eb0e6565b
|
||||
size 158809
|
||||
|
After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 776 KiB After Width: | Height: | Size: 828 KiB |
Before Width: | Height: | Size: 166 KiB After Width: | Height: | Size: 195 KiB |
Before Width: | Height: | Size: 397 KiB After Width: | Height: | Size: 459 KiB |
Before Width: | Height: | Size: 780 KiB After Width: | Height: | Size: 914 KiB |
@ -0,0 +1,509 @@
|
||||
{"frames": {
|
||||
|
||||
"sprites/belt/forward_3.png":
|
||||
{
|
||||
"frame": {"x":3,"y":783,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/forward_4.png":
|
||||
{
|
||||
"frame": {"x":3,"y":913,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/forward_5.png":
|
||||
{
|
||||
"frame": {"x":3,"y":1043,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/forward_6.png":
|
||||
{
|
||||
"frame": {"x":3,"y":1173,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/forward_7.png":
|
||||
{
|
||||
"frame": {"x":3,"y":1303,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/forward_8.png":
|
||||
{
|
||||
"frame": {"x":107,"y":3,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/forward_9.png":
|
||||
{
|
||||
"frame": {"x":107,"y":133,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/forward_22.png":
|
||||
{
|
||||
"frame": {"x":3,"y":3,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/forward_23.png":
|
||||
{
|
||||
"frame": {"x":3,"y":133,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/forward_24.png":
|
||||
{
|
||||
"frame": {"x":3,"y":263,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/forward_25.png":
|
||||
{
|
||||
"frame": {"x":3,"y":393,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/forward_26.png":
|
||||
{
|
||||
"frame": {"x":3,"y":523,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/forward_27.png":
|
||||
{
|
||||
"frame": {"x":3,"y":653,"w":100,"h":126},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_2.png":
|
||||
{
|
||||
"frame": {"x":3,"y":1784,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_3.png":
|
||||
{
|
||||
"frame": {"x":107,"y":965,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_4.png":
|
||||
{
|
||||
"frame": {"x":107,"y":1082,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_5.png":
|
||||
{
|
||||
"frame": {"x":107,"y":1199,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_6.png":
|
||||
{
|
||||
"frame": {"x":107,"y":1316,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_7.png":
|
||||
{
|
||||
"frame": {"x":120,"y":1433,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_8.png":
|
||||
{
|
||||
"frame": {"x":120,"y":1550,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_9.png":
|
||||
{
|
||||
"frame": {"x":120,"y":1667,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_17.png":
|
||||
{
|
||||
"frame": {"x":3,"y":1433,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_18.png":
|
||||
{
|
||||
"frame": {"x":3,"y":1550,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_19.png":
|
||||
{
|
||||
"frame": {"x":3,"y":1667,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_20.png":
|
||||
{
|
||||
"frame": {"x":107,"y":263,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_21.png":
|
||||
{
|
||||
"frame": {"x":211,"y":3,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_22.png":
|
||||
{
|
||||
"frame": {"x":211,"y":120,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_23.png":
|
||||
{
|
||||
"frame": {"x":107,"y":380,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_24.png":
|
||||
{
|
||||
"frame": {"x":107,"y":497,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_25.png":
|
||||
{
|
||||
"frame": {"x":107,"y":614,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_26.png":
|
||||
{
|
||||
"frame": {"x":107,"y":731,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/left_27.png":
|
||||
{
|
||||
"frame": {"x":107,"y":848,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_0.png":
|
||||
{
|
||||
"frame": {"x":120,"y":1784,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_1.png":
|
||||
{
|
||||
"frame": {"x":224,"y":237,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_2.png":
|
||||
{
|
||||
"frame": {"x":224,"y":1290,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_3.png":
|
||||
{
|
||||
"frame": {"x":341,"y":705,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_4.png":
|
||||
{
|
||||
"frame": {"x":341,"y":822,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_5.png":
|
||||
{
|
||||
"frame": {"x":341,"y":939,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_6.png":
|
||||
{
|
||||
"frame": {"x":341,"y":1056,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_7.png":
|
||||
{
|
||||
"frame": {"x":341,"y":1173,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_8.png":
|
||||
{
|
||||
"frame": {"x":341,"y":1290,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_9.png":
|
||||
{
|
||||
"frame": {"x":354,"y":1407,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_10.png":
|
||||
{
|
||||
"frame": {"x":328,"y":3,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_11.png":
|
||||
{
|
||||
"frame": {"x":328,"y":120,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_12.png":
|
||||
{
|
||||
"frame": {"x":224,"y":354,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_13.png":
|
||||
{
|
||||
"frame": {"x":224,"y":471,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_14.png":
|
||||
{
|
||||
"frame": {"x":224,"y":588,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_15.png":
|
||||
{
|
||||
"frame": {"x":224,"y":705,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_16.png":
|
||||
{
|
||||
"frame": {"x":224,"y":822,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_17.png":
|
||||
{
|
||||
"frame": {"x":224,"y":939,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_18.png":
|
||||
{
|
||||
"frame": {"x":224,"y":1056,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_19.png":
|
||||
{
|
||||
"frame": {"x":224,"y":1173,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_20.png":
|
||||
{
|
||||
"frame": {"x":237,"y":1407,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_21.png":
|
||||
{
|
||||
"frame": {"x":237,"y":1524,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_22.png":
|
||||
{
|
||||
"frame": {"x":237,"y":1641,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_23.png":
|
||||
{
|
||||
"frame": {"x":237,"y":1758,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_24.png":
|
||||
{
|
||||
"frame": {"x":341,"y":237,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_25.png":
|
||||
{
|
||||
"frame": {"x":341,"y":354,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_26.png":
|
||||
{
|
||||
"frame": {"x":341,"y":471,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/belt/right_27.png":
|
||||
{
|
||||
"frame": {"x":341,"y":588,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/buildings/belt_left.png":
|
||||
{
|
||||
"frame": {"x":354,"y":1524,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
},
|
||||
"sprites/buildings/belt_right.png":
|
||||
{
|
||||
"frame": {"x":354,"y":1641,"w":113,"h":113},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
|
||||
"sourceSize": {"w":126,"h":126}
|
||||
}},
|
||||
"meta": {
|
||||
"app": "https://www.codeandweb.com/texturepacker",
|
||||
"version": "1.0",
|
||||
"image": "atlas1_100.png",
|
||||
"format": "RGBA8888",
|
||||
"size": {"w":470,"h":1900},
|
||||
"scale": "1",
|
||||
"related_multi_packs": [ "atlas0_100.json" ],
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:dc34796c028235bbc69e5b8d854254ca:2765d0b8c8bcbb7a4aaaf1104853ad41:8778749683c68f53155587e6d831729a$"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 158 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 732 B |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 769 B |
After Width: | Height: | Size: 739 B |
After Width: | Height: | Size: 772 B |
After Width: | Height: | Size: 739 B |
After Width: | Height: | Size: 772 B |
After Width: | Height: | Size: 739 B |
After Width: | Height: | Size: 789 B |
After Width: | Height: | Size: 758 B |
After Width: | Height: | Size: 794 B |
After Width: | Height: | Size: 761 B |
After Width: | Height: | Size: 793 B |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 739 B |
After Width: | Height: | Size: 759 B |
After Width: | Height: | Size: 793 B |
After Width: | Height: | Size: 760 B |
After Width: | Height: | Size: 794 B |
After Width: | Height: | Size: 762 B |
After Width: | Height: | Size: 795 B |
After Width: | Height: | Size: 760 B |
After Width: | Height: | Size: 783 B |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 771 B |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 739 B |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 772 B |
After Width: | Height: | Size: 739 B |
After Width: | Height: | Size: 772 B |
After Width: | Height: | Size: 739 B |
After Width: | Height: | Size: 772 B |
@ -0,0 +1,173 @@
|
||||
/**
|
||||
*
|
||||
* Run `yarn global add canvas` first
|
||||
*/
|
||||
|
||||
const { createCanvas, loadImage } = require("canvas");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const { fileURLToPath } = require("url");
|
||||
|
||||
async function run() {
|
||||
console.log("Running");
|
||||
|
||||
const fps = 28;
|
||||
const dimensions = 126;
|
||||
const beltBorder = 15.5;
|
||||
|
||||
const borderColor = "#91949e";
|
||||
const fillColor = "#d2d4d9";
|
||||
const arrowColor = "#c0c2c7";
|
||||
|
||||
// Generate arrow sprite
|
||||
|
||||
const arrowW = 40;
|
||||
const arrowH = 20;
|
||||
/** @type {HTMLCanvasElement} */
|
||||
const arrowSprite = createCanvas(arrowW, arrowH);
|
||||
const arrowContext = arrowSprite.getContext("2d");
|
||||
|
||||
arrowContext.quality = "best";
|
||||
arrowContext.fillStyle = arrowColor;
|
||||
arrowContext.clearRect(0, 0, arrowW, arrowH);
|
||||
arrowContext.beginPath();
|
||||
arrowContext.moveTo(0, arrowH);
|
||||
arrowContext.lineTo(arrowW / 2, 0);
|
||||
arrowContext.lineTo(arrowW, arrowH);
|
||||
arrowContext.closePath();
|
||||
arrowContext.fill();
|
||||
|
||||
// First, generate the forward belt
|
||||
for (let i = 0; i < fps; ++i) {
|
||||
/** @type {HTMLCanvasElement} */
|
||||
const canvas = createCanvas(dimensions, dimensions);
|
||||
const context = canvas.getContext("2d");
|
||||
context.quality = "best";
|
||||
|
||||
const procentual = i / fps;
|
||||
context.clearRect(0, 0, dimensions, dimensions);
|
||||
|
||||
context.fillStyle = fillColor;
|
||||
context.strokeStyle = borderColor;
|
||||
context.lineWidth = 3;
|
||||
|
||||
context.beginPath();
|
||||
context.rect(beltBorder, -10, dimensions - 2 * beltBorder, dimensions + 20);
|
||||
context.fill();
|
||||
context.stroke();
|
||||
|
||||
const spacingBetweenArrows = (dimensions - 3 * arrowH) / 3;
|
||||
const spacingTotal = spacingBetweenArrows + arrowH;
|
||||
|
||||
for (let k = 0; k < 5; ++k) {
|
||||
let y = dimensions - arrowH - (k - 1) * spacingTotal - procentual * spacingTotal;
|
||||
context.drawImage(arrowSprite, dimensions / 2 - arrowW / 2, y);
|
||||
}
|
||||
|
||||
const out = fs.createWriteStream(path.join(__dirname, "forward_" + i + ".png"));
|
||||
const stream = canvas.createPNGStream();
|
||||
stream.pipe(out);
|
||||
}
|
||||
|
||||
// Generate left and right side belt
|
||||
for (let i = 0; i < fps; ++i) {
|
||||
/** @type {HTMLCanvasElement} */
|
||||
const canvas = createCanvas(dimensions, dimensions);
|
||||
const context = canvas.getContext("2d");
|
||||
context.quality = "best";
|
||||
|
||||
const procentual = i / fps;
|
||||
const innerRadius = beltBorder;
|
||||
context.clearRect(0, 0, dimensions, dimensions);
|
||||
|
||||
context.fillStyle = fillColor;
|
||||
context.strokeStyle = borderColor;
|
||||
context.lineWidth = 3;
|
||||
|
||||
context.beginPath();
|
||||
context.moveTo(beltBorder, dimensions + 10);
|
||||
context.lineTo(beltBorder, dimensions - innerRadius);
|
||||
|
||||
const steps = 256;
|
||||
|
||||
const outerRadius = dimensions - 2 * beltBorder;
|
||||
|
||||
const originX = dimensions - innerRadius;
|
||||
const originY = dimensions - innerRadius;
|
||||
|
||||
const sqrt = x => Math.pow(Math.abs(x), 0.975) * Math.sign(x);
|
||||
|
||||
for (let k = 0; k <= steps; ++k) {
|
||||
const pct = k / steps;
|
||||
const angleRad = Math.PI + pct * Math.PI * 0.5;
|
||||
const offX = originX + sqrt(Math.cos(angleRad)) * outerRadius;
|
||||
const offY = originY + sqrt(Math.sin(angleRad)) * outerRadius;
|
||||
|
||||
context.lineTo(offX, offY);
|
||||
}
|
||||
|
||||
context.lineTo(dimensions + 10, beltBorder);
|
||||
context.lineTo(dimensions + 10, dimensions - beltBorder);
|
||||
context.lineTo(dimensions, dimensions - beltBorder);
|
||||
|
||||
for (let k = 0; k <= steps; ++k) {
|
||||
const pct = 1 - k / steps;
|
||||
const angleRad = Math.PI + pct * Math.PI * 0.5;
|
||||
const offX = dimensions + Math.cos(angleRad) * innerRadius;
|
||||
const offY = dimensions + Math.sin(angleRad) * innerRadius;
|
||||
|
||||
context.lineTo(offX, offY);
|
||||
}
|
||||
|
||||
context.lineTo(dimensions - beltBorder, dimensions + 10);
|
||||
|
||||
context.closePath();
|
||||
context.fill();
|
||||
context.stroke();
|
||||
|
||||
// Arrows
|
||||
const rotationalRadius = dimensions / 2 - arrowH / 2 + 0.5;
|
||||
|
||||
const circumfence = (rotationalRadius * Math.PI * 2) / 4;
|
||||
console.log("Circumfence:", circumfence, "px");
|
||||
|
||||
const remainingSpace = circumfence - 3 * arrowH + arrowH;
|
||||
console.log("Remainig:", remainingSpace);
|
||||
const spacing = remainingSpace / 3 + arrowH;
|
||||
|
||||
console.log("Spacing: ", spacing);
|
||||
const angleSpacing = ((spacing / circumfence) * Math.PI) / 2;
|
||||
|
||||
for (let i = 0; i < 5; ++i) {
|
||||
let angleRad = Math.PI + procentual * angleSpacing + (i - 1) * angleSpacing;
|
||||
const offX = dimensions - arrowH / 2 + Math.cos(angleRad * 0.995) * rotationalRadius;
|
||||
const offY = dimensions - arrowH / 2 + Math.sin(angleRad * 0.995) * rotationalRadius;
|
||||
|
||||
angleRad = Math.max(Math.PI, Math.min(1.5 * Math.PI, angleRad));
|
||||
|
||||
context.save();
|
||||
context.translate(offX, offY);
|
||||
context.rotate(angleRad + Math.PI);
|
||||
context.drawImage(arrowSprite, -arrowW / 2, -arrowH / 2);
|
||||
context.restore();
|
||||
}
|
||||
|
||||
/** @type {HTMLCanvasElement} */
|
||||
const flippedCanvas = createCanvas(dimensions, dimensions);
|
||||
const flippedContext = flippedCanvas.getContext("2d");
|
||||
flippedContext.quality = "best";
|
||||
flippedContext.clearRect(0, 0, dimensions, dimensions);
|
||||
flippedContext.scale(-1, 1);
|
||||
flippedContext.drawImage(canvas, -dimensions, 0, dimensions, dimensions);
|
||||
|
||||
const out = fs.createWriteStream(path.join(__dirname, "right_" + i + ".png"));
|
||||
const stream = canvas.createPNGStream();
|
||||
stream.pipe(out);
|
||||
|
||||
const outLeft = fs.createWriteStream(path.join(__dirname, "left_" + i + ".png"));
|
||||
const streamLeft = flippedCanvas.createPNGStream();
|
||||
streamLeft.pipe(outLeft);
|
||||
}
|
||||
}
|
||||
|
||||
run();
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 4.2 KiB |
@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "belt",
|
||||
"version": "1.0.0",
|
||||
"main": "index.js",
|
||||
"private": "true",
|
||||
"devDependencies": {
|
||||
"canvas": "^2.6.1"
|
||||
},
|
||||
"scripts": {
|
||||
"generate": "node generate_belt_sprites.js"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |