[ts][pixi] Started physics example porting

This commit is contained in:
Davide Tantillo 2024-03-21 18:16:36 +01:00
parent dce854e785
commit 0bd4a1af07
No known key found for this signature in database
GPG Key ID: 473ABA42CC0FDDC6
34 changed files with 13159 additions and 4 deletions

View File

@ -450,6 +450,22 @@ cp -f ../mix-and-match/export/mix-and-match-pro.skel "$ROOT/spine-ts/spine-pixi/
cp -f ../mix-and-match/export/mix-and-match-pma.atlas "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../mix-and-match/export/mix-and-match-pma.png "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../celestial-circus/export/* "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../cloud-pot/export/cloud-pot.json "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../cloud-pot/export/cloud-pot.skel "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../cloud-pot/export/cloud-pot-pma.atlas "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../cloud-pot/export/cloud-pot-pma.png "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../sack/export/sack-pro.json "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../sack/export/sack-pro.skel "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../sack/export/sack-pma.atlas "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../sack/export/sack-pma.png "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../snowglobe/export/snowglobe-pro.json "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../snowglobe/export/snowglobe-pro.skel "$ROOT/spine-ts/spine-pixi/example/assets/"
cp -f ../snowglobe/export/snowglobe-pma* "$ROOT/spine-ts/spine-pixi/example/assets/"
echo "spine-monogame"
rm "$ROOT/spine-monogame/spine-monogame-example/data/"*
cp -f ../coin/export/coin-pro.json "$ROOT/spine-monogame/spine-monogame-example/data/"

View File

@ -0,0 +1,170 @@
celestial-circus-pma.png
size: 1024, 1024
filter: Linear, Linear
pma: true
scale: 0.5
arm-back-down
bounds: 944, 3, 48, 103
arm-front-down
bounds: 241, 56, 45, 98
bench
bounds: 2, 94, 237, 60
body-bottom
bounds: 674, 8, 193, 156
rotate: 90
collar
bounds: 822, 352, 59, 33
ear
bounds: 997, 185, 25, 35
eye-back-shadow
bounds: 1004, 978, 18, 12
eye-front-shadow
bounds: 1004, 992, 30, 18
rotate: 90
eye-reflex-back
bounds: 822, 341, 10, 9
eye-reflex-front
bounds: 525, 699, 13, 9
rotate: 90
eye-white-back
bounds: 956, 963, 16, 20
eye-white-front
bounds: 551, 179, 28, 22
eyelashes-down-back
bounds: 980, 325, 14, 7
rotate: 90
eyelashes-down-front
bounds: 979, 1003, 19, 8
rotate: 90
eyelashes-top-back
bounds: 997, 118, 23, 12
rotate: 90
eyelashes-top-front
bounds: 956, 985, 37, 21
rotate: 90
feathers-front
bounds: 2, 2, 90, 108
rotate: 90
fringe-middle-back
bounds: 980, 222, 42, 65
fringe-side-back
bounds: 944, 222, 34, 117
fringe-side-front
bounds: 989, 289, 33, 116
hair-back-1
bounds: 289, 2, 166, 383
rotate: 90
hair-back-2
bounds: 887, 341, 100, 356
hair-back-4
bounds: 832, 11, 110, 328
hair-hat-shadow
bounds: 944, 108, 112, 51
rotate: 90
hat-front
bounds: 112, 22, 121, 70
leg-front
bounds: 554, 699, 323, 400
rotate: 90
logo-brooch
bounds: 505, 170, 20, 31
mouth
bounds: 279, 26, 28, 8
rotate: 90
nose
bounds: 279, 15, 8, 9
nose-highlight
bounds: 551, 171, 5, 6
nose-shadow
bounds: 834, 341, 9, 10
rotate: 90
pupil-back
bounds: 505, 699, 13, 18
rotate: 90
pupil-front
bounds: 112, 5, 15, 22
rotate: 90
rope-back
bounds: 989, 407, 13, 615
rope-front
bounds: 989, 407, 13, 615
skirt
bounds: 2, 714, 550, 308
sock-bow
bounds: 235, 14, 42, 40
spine-logo-body
bounds: 997, 143, 16, 40
star-big
bounds: 527, 171, 22, 30
star-medium
bounds: 1015, 173, 7, 10
star-small
bounds: 674, 2, 4, 6
rotate: 90
underskirt
bounds: 2, 156, 556, 285
rotate: 90
underskirt-back
bounds: 289, 170, 542, 214
rotate: 90
wing-back
bounds: 505, 203, 182, 315
rotate: 90
wing-front
bounds: 505, 387, 380, 310
celestial-circus-pma_2.png
size: 1024, 1024
filter: Linear, Linear
pma: true
scale: 0.5
arm-back-up
bounds: 490, 683, 104, 145
rotate: 90
arm-front-up
bounds: 162, 23, 96, 145
body-top
bounds: 2, 2, 158, 166
chest
bounds: 744, 878, 130, 117
cloud-back
bounds: 490, 789, 252, 206
cloud-front
bounds: 2, 170, 406, 245
rotate: 90
face
bounds: 876, 879, 116, 128
rotate: 90
feathers-back
bounds: 266, 578, 57, 57
fringe-middle-front
bounds: 260, 105, 75, 63
glove-bottom-back
bounds: 325, 584, 64, 51
glove-bottom-front
bounds: 391, 585, 59, 61
rotate: 90
hair-back-3
bounds: 249, 241, 87, 335
hair-back-5
bounds: 378, 646, 110, 349
hair-back-6
bounds: 266, 637, 110, 358
hand-back
bounds: 573, 622, 75, 59
hand-front
bounds: 637, 712, 67, 75
hat-back
bounds: 260, 23, 80, 56
rotate: 90
head-back
bounds: 744, 768, 128, 108
jabot
bounds: 249, 170, 88, 69
leg-back
bounds: 2, 578, 262, 417
neck
bounds: 338, 511, 49, 71
rope-front-bottom
bounds: 490, 628, 53, 81
rotate: 90

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 KiB

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,168 @@
celestial-circus.png
size: 1024, 1024
filter: Linear, Linear
scale: 0.5
arm-back-down
bounds: 944, 3, 48, 103
arm-front-down
bounds: 241, 56, 45, 98
bench
bounds: 2, 94, 237, 60
body-bottom
bounds: 674, 8, 193, 156
rotate: 90
collar
bounds: 822, 352, 59, 33
ear
bounds: 997, 185, 25, 35
eye-back-shadow
bounds: 1004, 978, 18, 12
eye-front-shadow
bounds: 1004, 992, 30, 18
rotate: 90
eye-reflex-back
bounds: 822, 341, 10, 9
eye-reflex-front
bounds: 525, 699, 13, 9
rotate: 90
eye-white-back
bounds: 956, 963, 16, 20
eye-white-front
bounds: 551, 179, 28, 22
eyelashes-down-back
bounds: 980, 325, 14, 7
rotate: 90
eyelashes-down-front
bounds: 979, 1003, 19, 8
rotate: 90
eyelashes-top-back
bounds: 997, 118, 23, 12
rotate: 90
eyelashes-top-front
bounds: 956, 985, 37, 21
rotate: 90
feathers-front
bounds: 2, 2, 90, 108
rotate: 90
fringe-middle-back
bounds: 980, 222, 42, 65
fringe-side-back
bounds: 944, 222, 34, 117
fringe-side-front
bounds: 989, 289, 33, 116
hair-back-1
bounds: 289, 2, 166, 383
rotate: 90
hair-back-2
bounds: 887, 341, 100, 356
hair-back-4
bounds: 832, 11, 110, 328
hair-hat-shadow
bounds: 944, 108, 112, 51
rotate: 90
hat-front
bounds: 112, 22, 121, 70
leg-front
bounds: 554, 699, 323, 400
rotate: 90
logo-brooch
bounds: 505, 170, 20, 31
mouth
bounds: 279, 26, 28, 8
rotate: 90
nose
bounds: 279, 15, 8, 9
nose-highlight
bounds: 551, 171, 5, 6
nose-shadow
bounds: 834, 341, 9, 10
rotate: 90
pupil-back
bounds: 505, 699, 13, 18
rotate: 90
pupil-front
bounds: 112, 5, 15, 22
rotate: 90
rope-back
bounds: 989, 407, 13, 615
rope-front
bounds: 989, 407, 13, 615
skirt
bounds: 2, 714, 550, 308
sock-bow
bounds: 235, 14, 42, 40
spine-logo-body
bounds: 997, 143, 16, 40
star-big
bounds: 527, 171, 22, 30
star-medium
bounds: 1015, 173, 7, 10
star-small
bounds: 674, 2, 4, 6
rotate: 90
underskirt
bounds: 2, 156, 556, 285
rotate: 90
underskirt-back
bounds: 289, 170, 542, 214
rotate: 90
wing-back
bounds: 505, 203, 182, 315
rotate: 90
wing-front
bounds: 505, 387, 380, 310
celestial-circus_2.png
size: 1024, 1024
filter: Linear, Linear
scale: 0.5
arm-back-up
bounds: 490, 683, 104, 145
rotate: 90
arm-front-up
bounds: 162, 23, 96, 145
body-top
bounds: 2, 2, 158, 166
chest
bounds: 744, 878, 130, 117
cloud-back
bounds: 490, 789, 252, 206
cloud-front
bounds: 2, 170, 406, 245
rotate: 90
face
bounds: 876, 879, 116, 128
rotate: 90
feathers-back
bounds: 266, 578, 57, 57
fringe-middle-front
bounds: 260, 105, 75, 63
glove-bottom-back
bounds: 325, 584, 64, 51
glove-bottom-front
bounds: 391, 585, 59, 61
rotate: 90
hair-back-3
bounds: 249, 241, 87, 335
hair-back-5
bounds: 378, 646, 110, 349
hair-back-6
bounds: 266, 637, 110, 358
hand-back
bounds: 573, 622, 75, 59
hand-front
bounds: 637, 712, 67, 75
hat-back
bounds: 260, 23, 80, 56
rotate: 90
head-back
bounds: 744, 768, 128, 108
jabot
bounds: 249, 170, 88, 69
leg-back
bounds: 2, 578, 262, 417
neck
bounds: 338, 511, 49, 71
rope-front-bottom
bounds: 490, 628, 53, 81
rotate: 90

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 KiB

View File

@ -0,0 +1,86 @@
cloud-pot-pma.png
size: 1024, 512
filter: Linear, Linear
pma: true
scale: 0.5
cloud-base-1
bounds: 2, 300, 233, 210
cloud-base-10
bounds: 214, 113, 97, 101
cloud-base-2
bounds: 2, 90, 210, 208
cloud-base-3
bounds: 237, 346, 175, 164
cloud-base-4
bounds: 414, 347, 176, 163
cloud-base-5
bounds: 313, 89, 145, 125
cloud-base-6
bounds: 744, 374, 161, 136
cloud-base-7
bounds: 592, 361, 150, 149
cloud-base-8
bounds: 237, 216, 154, 128
cloud-base-9
bounds: 907, 402, 107, 108
cloud-cheeks
bounds: 2, 9, 218, 79
cloud-eyes-closed
bounds: 744, 350, 132, 22
cloud-eyes-open
bounds: 592, 333, 133, 26
cloud-eyes-reflex
bounds: 393, 224, 120, 17
rotate: 90
cloud-mouth-closed
bounds: 907, 374, 49, 16
cloud-mouth-open
bounds: 222, 15, 59, 35
leaf-big
bounds: 214, 218, 20, 49
leaf-small
bounds: 958, 373, 17, 30
rotate: 90
petal-1
bounds: 283, 2, 26, 18
petal-2
bounds: 283, 22, 28, 17
rotate: 90
petal-3
bounds: 214, 269, 29, 21
rotate: 90
pot-base
bounds: 222, 52, 76, 59
pot-eyes-closed
bounds: 878, 363, 46, 9
pot-eyes-open
bounds: 222, 2, 40, 11
pot-mouth-open
bounds: 990, 374, 14, 16
pot-mouth-pouty
bounds: 300, 93, 18, 10
rotate: 90
pot-mouth-smile
bounds: 300, 77, 14, 10
rotate: 90
pot-mouth-smile-big
bounds: 878, 352, 20, 9
rain-blue
bounds: 926, 360, 12, 18
rotate: 90
rain-color
bounds: 264, 4, 9, 17
rotate: 90
rain-green
bounds: 900, 349, 12, 18
rotate: 90
rain-white
bounds: 727, 337, 12, 22
rain-white-reflex
bounds: 2, 2, 5, 10
rotate: 90
stem
bounds: 907, 392, 8, 105
rotate: 90
stem-end
bounds: 300, 62, 13, 13

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 KiB

View File

@ -0,0 +1,844 @@
{
"skeleton": {
"hash": "8KUEsGZLqgM",
"spine": "4.2.43-beta",
"x": -345,
"y": -272846.84,
"width": 756,
"height": 273927.84,
"images": "./images/",
"audio": ""
},
"bones": [
{ "name": "root" },
{ "name": "pot-control", "parent": "root", "x": 5, "y": 42, "color": "8828ffff", "icon": "arrowsB" },
{ "name": "cloud", "parent": "pot-control", "x": 26.5, "y": 772, "color": "1ee8c0ff", "icon": "circle" },
{ "name": "cloud-base-1", "parent": "cloud", "x": -4, "y": 57, "color": "b0d5eaff" },
{ "name": "cloud-base-2", "parent": "cloud-base-1", "x": 148.5, "y": -18.5, "color": "b0d5eaff" },
{ "name": "cloud-base-3", "parent": "cloud-base-1", "x": -182, "y": -87.5, "color": "b0d5eaff" },
{ "name": "cloud-base-4", "parent": "cloud", "x": -31.5, "y": -77, "color": "b0d5eaff" },
{ "name": "cloud-base-5", "parent": "cloud-base-4", "x": 177.5, "y": 8, "color": "b0d5eaff" },
{ "name": "cloud-base-6", "parent": "cloud-base-1", "x": -150.5, "y": 40, "color": "b0d5eaff" },
{ "name": "cloud-base-7", "parent": "cloud-base-1", "x": 8.5, "y": 36.5, "color": "b0d5eaff" },
{ "name": "cloud-base-8", "parent": "cloud-base-2", "x": 3.5, "y": 68.5, "color": "b0d5eaff" },
{ "name": "cloud-base-9", "parent": "cloud-base-3", "x": -83.5, "y": 30.5, "color": "b0d5eaff" },
{ "name": "cloud-base-10", "parent": "cloud-base-5", "x": 137, "y": 54.5, "color": "b0d5eaff" },
{ "name": "rain-blue", "parent": "cloud", "x": 102.49, "y": -26, "color": "2360e3ff", "icon": "diamond" },
{ "name": "rain-color", "parent": "cloud", "x": -39.42, "y": -26, "color": "2360e3ff", "icon": "diamond" },
{ "name": "rain-green", "parent": "cloud", "x": 35.08, "y": -26, "color": "2360e3ff", "icon": "diamond" },
{ "name": "rain-white", "parent": "cloud", "x": -103.92, "y": -26, "color": "2360e3ff", "icon": "diamond" },
{ "name": "pot", "parent": "pot-control", "x": -5, "y": -42, "color": "8828ffff" },
{ "name": "pot-face", "parent": "pot", "x": -1.06, "y": 28.16, "color": "f38383ff", "icon": "gear" },
{
"name": "leaf-big",
"parent": "pot",
"length": 46.73,
"rotation": 119.24,
"x": 4.04,
"y": 95.05,
"color": "abe323ff"
},
{ "name": "leaf-big-tip", "parent": "leaf-big", "length": 46.73, "x": 46.73, "color": "abe323ff" },
{
"name": "leaf-small",
"parent": "pot",
"length": 51.32,
"rotation": 50.93,
"x": 10.16,
"y": 96.81,
"color": "abe323ff"
},
{
"name": "stem",
"parent": "pot",
"length": 104.76,
"rotation": 90,
"x": 7.24,
"y": 92.61,
"color": "abe323ff"
},
{ "name": "stem2", "parent": "stem", "length": 69.84, "x": 104.76, "color": "abe323ff" },
{ "name": "stem3", "parent": "stem2", "length": 34.92, "x": 69.84, "color": "abe323ff" },
{
"name": "petal-3",
"parent": "stem3",
"length": 37.74,
"rotation": 1.03,
"x": 30.73,
"y": 0.64,
"color": "2381e3ff"
},
{
"name": "petal-1",
"parent": "stem3",
"length": 40.11,
"rotation": 70.18,
"x": 34.13,
"y": 3.02,
"color": "2381e3ff"
},
{
"name": "petal-2",
"parent": "stem3",
"length": 48.62,
"rotation": -80.34,
"x": 32.09,
"y": -4.46,
"color": "2381e3ff"
},
{ "name": "cloud-face", "parent": "cloud", "y": 14.93, "color": "9e82ffff", "icon": "arrowsB" }
],
"slots": [
{ "name": "rain/rain-green", "bone": "rain-green", "attachment": "rain-green" },
{ "name": "rain/rain-blue", "bone": "rain-blue", "attachment": "rain-blue" },
{ "name": "rain/rain-color", "bone": "rain-color", "attachment": "rain-color" },
{ "name": "rain/rain-white", "bone": "rain-white", "attachment": "rain-white" },
{ "name": "rain/rain-white-reflex", "bone": "rain-white", "attachment": "rain-white-reflex" },
{ "name": "flower/petal-1", "bone": "petal-1", "attachment": "petal-1" },
{ "name": "flower/petal-2", "bone": "petal-2", "attachment": "petal-2" },
{ "name": "flower/petal-3", "bone": "petal-3", "attachment": "petal-3" },
{ "name": "flower/stem", "bone": "stem", "attachment": "stem" },
{ "name": "flower/leaf-big", "bone": "leaf-big", "attachment": "leaf-big" },
{ "name": "flower/leaf-small", "bone": "leaf-small", "attachment": "leaf-small" },
{ "name": "flower/stem-end", "bone": "stem3", "attachment": "stem-end" },
{ "name": "pot/pot-base", "bone": "pot", "attachment": "pot-base" },
{ "name": "pot/pot-mouth", "bone": "pot-face", "attachment": "pot-mouth-smile-big" },
{ "name": "pot/pot-eyes", "bone": "pot-face", "attachment": "pot-eyes-open" },
{ "name": "cloud/cloud-base/cloud-base-1", "bone": "cloud-base-1", "attachment": "cloud-base-1" },
{ "name": "cloud/cloud-base/cloud-base-2", "bone": "cloud-base-2", "attachment": "cloud-base-2" },
{ "name": "cloud/cloud-base/cloud-base-3", "bone": "cloud-base-3", "attachment": "cloud-base-3" },
{ "name": "cloud/cloud-base/cloud-base-4", "bone": "cloud-base-4", "attachment": "cloud-base-4" },
{ "name": "cloud/cloud-base/cloud-base-5", "bone": "cloud-base-5", "attachment": "cloud-base-5" },
{ "name": "cloud/cloud-base/cloud-base-6", "bone": "cloud-base-6", "attachment": "cloud-base-6" },
{ "name": "cloud/cloud-base/cloud-base-7", "bone": "cloud-base-7", "attachment": "cloud-base-7" },
{ "name": "cloud/cloud-base/cloud-base-8", "bone": "cloud-base-8", "attachment": "cloud-base-8" },
{ "name": "cloud/cloud-base/cloud-base-9", "bone": "cloud-base-9", "attachment": "cloud-base-9" },
{ "name": "cloud/cloud-base/cloud-base-10", "bone": "cloud-base-10", "attachment": "cloud-base-10" },
{ "name": "cloud/cloud-cheeks", "bone": "cloud-face", "attachment": "cloud-cheeks" },
{ "name": "cloud/cloud-eyes", "bone": "cloud-face", "attachment": "cloud-eyes-open" },
{ "name": "cloud/cloud-eyes-reflex", "bone": "cloud-face", "attachment": "cloud-eyes-reflex" },
{ "name": "cloud/cloud-mouth", "bone": "cloud-face", "attachment": "cloud-mouth-closed" }
],
"physics": [
{
"name": "cloud",
"order": 25,
"bone": "cloud",
"x": 1,
"y": 1,
"limit": 5000,
"inertia": 0.5,
"strength": 172.8,
"damping": 0.8571,
"mass": 3
},
{
"name": "cloud-face",
"order": 24,
"bone": "cloud-face",
"x": 0.1923,
"y": 0.141,
"inertia": 0.5,
"damping": 0.15
},
{
"name": "pot-face",
"order": 23,
"bone": "pot-face",
"x": 0.1667,
"y": 0.1026,
"inertia": 0.5,
"strength": 137.3,
"damping": 0.6078
},
{
"name": "cloud-base/cloud-base-1",
"order": 4,
"bone": "cloud-base-1",
"x": 1,
"y": 1,
"inertia": 0.3741,
"strength": 134.7,
"damping": 0.8163,
"mass": 2.8
},
{
"name": "cloud-base/cloud-base-2",
"order": 5,
"bone": "cloud-base-2",
"x": 1,
"y": 1,
"limit": 300,
"inertia": 0.3741,
"strength": 134.7,
"damping": 0.8163,
"mass": 2.8
},
{
"name": "cloud-base/cloud-base-3",
"order": 6,
"bone": "cloud-base-3",
"x": 1,
"y": 1,
"limit": 300,
"inertia": 0.3741,
"strength": 134.7,
"damping": 0.8163,
"mass": 2.8
},
{
"name": "cloud-base/cloud-base-4",
"order": 7,
"bone": "cloud-base-4",
"x": 1,
"y": 1,
"inertia": 0.3741,
"strength": 134.7,
"damping": 0.8163,
"mass": 2.8
},
{
"name": "cloud-base/cloud-base-5",
"order": 8,
"bone": "cloud-base-5",
"x": 1,
"y": 1,
"limit": 300,
"inertia": 0.3741,
"strength": 134.7,
"damping": 0.8163,
"mass": 2.8
},
{
"name": "cloud-base/cloud-base-6",
"order": 9,
"bone": "cloud-base-6",
"x": 1,
"y": 1,
"limit": 300,
"inertia": 0.3741,
"strength": 134.7,
"damping": 0.8163,
"mass": 2.8
},
{
"name": "cloud-base/cloud-base-7",
"order": 10,
"bone": "cloud-base-7",
"x": 1,
"y": 1,
"limit": 300,
"inertia": 0.3741,
"strength": 134.7,
"damping": 0.8163,
"mass": 2.8
},
{
"name": "cloud-base/cloud-base-8",
"order": 11,
"bone": "cloud-base-8",
"x": 1,
"y": 1,
"limit": 300,
"inertia": 0.3741,
"strength": 134.7,
"damping": 0.8163,
"mass": 2.8
},
{
"name": "cloud-base/cloud-base-9",
"order": 12,
"bone": "cloud-base-9",
"x": 1,
"y": 1,
"limit": 300,
"inertia": 0.3741,
"strength": 134.7,
"damping": 0.8163,
"mass": 2.8
},
{
"name": "cloud-base/cloud-base-10",
"order": 13,
"bone": "cloud-base-10",
"x": 1,
"y": 1,
"limit": 300,
"inertia": 0.3741,
"strength": 134.7,
"damping": 0.8163,
"mass": 2.8
},
{
"name": "plant/leaf-big",
"order": 14,
"bone": "leaf-big",
"rotate": 0.7532,
"shearX": 0.2468,
"inertia": 0.5,
"strength": 160.5,
"damping": 0.8367,
"mass": 4
},
{
"name": "plant/leaf-big-tip",
"order": 22,
"bone": "leaf-big-tip",
"rotate": 1,
"inertia": 0.5,
"strength": 160.5,
"damping": 0.8367,
"mass": 4
},
{
"name": "plant/leaf-small",
"order": 15,
"bone": "leaf-small",
"rotate": 0.6026,
"inertia": 0.5,
"strength": 160.5,
"damping": 0.8367,
"mass": 4
},
{
"name": "plant/petal-1",
"order": 19,
"bone": "petal-1",
"rotate": 1,
"inertia": 0.5,
"strength": 164.6,
"damping": 0.6531,
"mass": 2.6
},
{
"name": "plant/petal-2",
"order": 21,
"bone": "petal-2",
"rotate": 1,
"inertia": 0.5,
"strength": 164.6,
"damping": 0.6531,
"mass": 2.6
},
{
"name": "plant/petal-3",
"order": 20,
"bone": "petal-3",
"rotate": 1,
"inertia": 0.5,
"strength": 164.6,
"damping": 0.7823,
"mass": 3.83
},
{
"name": "plant/stem",
"order": 16,
"bone": "stem",
"rotate": 0.8205,
"limit": 700,
"inertia": 0.5,
"strength": 152.4,
"damping": 0.9388,
"mass": 2.6
},
{
"name": "plant/stem2",
"order": 17,
"bone": "stem2",
"rotate": 0.8205,
"limit": 700,
"inertia": 0.5,
"strength": 152.4,
"damping": 0.9388,
"mass": 2.6
},
{
"name": "plant/stem3",
"order": 18,
"bone": "stem3",
"rotate": 0.8205,
"limit": 700,
"inertia": 0.5,
"strength": 152.4,
"damping": 0.9388,
"mass": 2.6
},
{
"name": "rain/rain-blue",
"order": 3,
"bone": "rain-blue",
"x": 1,
"y": 1,
"limit": 5000,
"strength": 0,
"gravity": 70
},
{
"name": "rain/rain-color",
"order": 2,
"bone": "rain-color",
"x": 1,
"y": 1,
"limit": 5000,
"strength": 0,
"gravity": 70
},
{
"name": "rain/rain-green",
"order": 1,
"bone": "rain-green",
"x": 1,
"y": 1,
"limit": 5000,
"strength": 0,
"gravity": 70
},
{
"name": "rain/rain-white",
"bone": "rain-white",
"x": 1,
"y": 1,
"limit": 5000,
"strength": 0,
"gravity": 70
}
],
"skins": [
{
"name": "default",
"attachments": {
"cloud-base-1": {
"cloud-base-1": { "width": 465, "height": 420 }
},
"cloud-base-2": {
"cloud-base-2": { "width": 420, "height": 415 }
},
"cloud-base-3": {
"cloud-base-3": { "width": 349, "height": 327 }
},
"cloud-base-4": {
"cloud-base-4": { "width": 352, "height": 326 }
},
"cloud-base-5": {
"cloud-base-5": { "width": 289, "height": 250 }
},
"cloud-base-6": {
"cloud-base-6": { "width": 322, "height": 272 }
},
"cloud-base-7": {
"cloud-base-7": { "width": 300, "height": 297 }
},
"cloud-base-8": {
"cloud-base-8": { "width": 307, "height": 256 }
},
"cloud-base-9": {
"cloud-base-9": { "width": 214, "height": 216 }
},
"cloud-base-10": {
"cloud-base-10": { "width": 193, "height": 201 }
},
"cloud-cheeks": {
"cloud-cheeks": { "x": -19, "y": -53.93, "width": 435, "height": 158 }
},
"cloud-eyes": {
"cloud-eyes-closed": { "x": -10, "y": -5.43, "width": 263, "height": 43 },
"cloud-eyes-open": { "x": -8, "y": -4.43, "width": 265, "height": 51 }
},
"cloud-eyes-reflex": {
"cloud-eyes-reflex": { "x": -10, "y": 2.07, "width": 239, "height": 34 }
},
"cloud-mouth": {
"cloud-mouth-closed": { "y": -14.93, "width": 97, "height": 32 },
"cloud-mouth-open": { "x": -0.5, "y": -27.93, "width": 118, "height": 70 }
},
"leaf-big": {
"leaf-big": {
"type": "mesh",
"uvs": [ 1, 1, 0, 1, 0, 0.75, 0, 0.5, 0, 0.25, 0, 0, 1, 0, 1, 0.25, 1, 0.5, 1, 0.75 ],
"triangles": [ 8, 3, 7, 3, 4, 7, 7, 4, 6, 4, 5, 6, 0, 1, 9, 1, 2, 9, 9, 2, 8, 2, 3, 8 ],
"vertices": [ 1, 19, -5.05, -21.72, 1, 1, 19, -5.05, 18.28, 1, 2, 19, 19.45, 18.28, 0.75483, 20, -27.28, 18.28, 0.24517, 2, 19, 43.95, 18.28, 0.50538, 20, -2.78, 18.28, 0.49462, 2, 19, 68.45, 18.28, 0.25278, 20, 21.72, 18.28, 0.74722, 1, 20, 46.22, 18.28, 1, 1, 20, 46.22, -21.72, 1, 2, 19, 68.45, -21.72, 0.24458, 20, 21.72, -21.72, 0.75542, 2, 19, 43.95, -21.72, 0.4937, 20, -2.78, -21.72, 0.5063, 2, 19, 19.45, -21.72, 0.74651, 20, -27.28, -21.72, 0.25349 ],
"hull": 10,
"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 0 ],
"width": 40,
"height": 98
}
},
"leaf-small": {
"leaf-small": { "x": 25.02, "y": 0.4, "rotation": -91.36, "width": 34, "height": 59 }
},
"petal-1": {
"petal-1": { "x": 18.88, "y": -4.54, "rotation": -160.18, "width": 52, "height": 36 }
},
"petal-2": {
"petal-2": { "x": 21.96, "y": 2.06, "rotation": -9.66, "width": 56, "height": 34 }
},
"petal-3": {
"petal-3": { "x": 16.97, "y": -5.71, "rotation": -91.03, "width": 58, "height": 42 }
},
"stem": {
"stem": {
"type": "mesh",
"uvs": [ 1, 1, 0, 1, 0, 0.90909, 0, 0.81818, 0, 0.72727, 0, 0.63636, 0, 0.54545, 0, 0.45455, 0, 0.36364, 0, 0.27273, 0, 0.18182, 0, 0.09091, 0, 0, 1, 0, 1, 0.09091, 1, 0.18182, 1, 0.27273, 1, 0.36364, 1, 0.45455, 1, 0.54545, 1, 0.63636, 1, 0.72727, 1, 0.81818, 1, 0.90909 ],
"triangles": [ 15, 10, 14, 10, 11, 14, 14, 11, 13, 11, 12, 13, 18, 7, 17, 7, 8, 17, 17, 8, 16, 8, 9, 16, 16, 9, 15, 9, 10, 15, 0, 1, 23, 1, 2, 23, 23, 2, 22, 2, 3, 22, 22, 3, 21, 3, 4, 21, 21, 4, 20, 4, 5, 20, 20, 5, 19, 5, 6, 19, 19, 6, 18, 6, 7, 18 ],
"vertices": [ 1, 22, -3.61, -6.76, 1, 1, 22, -3.61, 9.24, 1, 3, 22, 15.49, 9.24, 0.97258, 23, -89.27, 9.24, 0.02734, 24, -159.11, 9.24, 8.0E-5, 3, 22, 34.58, 9.24, 0.92758, 23, -70.18, 9.24, 0.07175, 24, -140.02, 9.24, 6.7E-4, 3, 22, 53.67, 9.24, 0.851, 23, -51.09, 9.24, 0.14565, 24, -120.93, 9.24, 0.00335, 3, 22, 72.76, 9.24, 0.73702, 23, -32, 9.24, 0.25075, 24, -101.84, 9.24, 0.01223, 3, 22, 91.85, 9.24, 0.59184, 23, -12.91, 9.24, 0.37282, 24, -82.74, 9.24, 0.03534, 3, 22, 110.94, 9.24, 0.43333, 23, 6.18, 9.24, 0.482, 24, -63.65, 9.24, 0.08467, 3, 22, 130.03, 9.24, 0.28467, 23, 25.27, 9.24, 0.54153, 24, -44.56, 9.24, 0.1738, 3, 22, 149.12, 9.24, 0.16502, 23, 44.37, 9.24, 0.52188, 24, -25.47, 9.24, 0.3131, 3, 22, 168.21, 9.24, 0.08234, 23, 63.46, 9.24, 0.4129, 24, -6.38, 9.24, 0.50477, 3, 22, 187.3, 9.24, 0.03198, 23, 82.55, 9.24, 0.228, 24, 12.71, 9.24, 0.74001, 1, 24, 31.8, 9.24, 1, 1, 24, 31.8, -6.76, 1, 3, 22, 187.3, -6.76, 0.02989, 23, 82.55, -6.76, 0.23389, 24, 12.71, -6.76, 0.73622, 3, 22, 168.21, -6.76, 0.07799, 23, 63.46, -6.76, 0.42357, 24, -6.38, -6.76, 0.49844, 3, 22, 149.12, -6.76, 0.1584, 23, 44.37, -6.76, 0.53549, 24, -25.47, -6.76, 0.30611, 3, 22, 130.03, -6.76, 0.27629, 23, 25.27, -6.76, 0.55594, 24, -44.56, -6.76, 0.16777, 3, 22, 110.94, -6.76, 0.42428, 23, 6.18, -6.76, 0.49529, 24, -63.65, -6.76, 0.08044, 3, 22, 91.85, -6.76, 0.58346, 23, -12.91, -6.76, 0.38366, 24, -82.74, -6.76, 0.03289, 3, 22, 72.76, -6.76, 0.73038, 23, -32, -6.76, 0.25856, 24, -101.84, -6.76, 0.01107, 3, 22, 53.67, -6.76, 0.84652, 23, -51.09, -6.76, 0.15057, 24, -120.93, -6.76, 0.00291, 3, 22, 34.58, -6.76, 0.92506, 23, -70.18, -6.76, 0.0744, 24, -140.02, -6.76, 5.4E-4, 3, 22, 15.49, -6.76, 0.97151, 23, -89.27, -6.76, 0.02843, 24, -159.11, -6.76, 6.0E-5 ],
"hull": 24,
"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 30, 32, 32, 34, 34, 36, 36, 38, 38, 40, 40, 42, 42, 44, 44, 46, 46, 0 ],
"width": 16,
"height": 210
}
},
"stem-end": {
"stem-end": { "x": 25.8, "y": -0.26, "rotation": -90, "width": 25, "height": 26 }
},
"pot-base": {
"pot-base": { "x": 5, "y": 42, "width": 152, "height": 118 }
},
"pot-eyes": {
"pot-eyes-closed": { "x": -0.94, "y": 2.34, "width": 92, "height": 17 },
"pot-eyes-open": { "x": 0.06, "y": 3.84, "width": 80, "height": 22 }
},
"pot-mouth": {
"pot-mouth-open": { "x": -1.44, "y": -13.66, "width": 27, "height": 31 },
"pot-mouth-pouty": { "x": 0.56, "y": -12.66, "width": 35, "height": 19 },
"pot-mouth-smile": { "x": 0.56, "y": -12.16, "width": 27, "height": 20 },
"pot-mouth-smile-big": { "x": 1.56, "y": -9.16, "width": 39, "height": 18 }
},
"rain-blue": {
"rain-blue": { "width": 23, "height": 36 }
},
"rain-color": {
"rain-color": { "width": 18, "height": 34 }
},
"rain-green": {
"rain-green": { "width": 23, "height": 36 }
},
"rain-white": {
"rain-white": { "width": 23, "height": 44 }
},
"rain-white-reflex": {
"rain-white-reflex": { "x": -0.5, "y": 3.5, "width": 10, "height": 19 }
}
}
}
],
"animations": {
"playing-in-the-rain": {
"slots": {
"cloud-eyes": {
"attachment": [
{ "time": 0.2, "name": "cloud-eyes-closed" },
{ "time": 0.9, "name": "cloud-eyes-open" },
{ "time": 1.7667, "name": "cloud-eyes-closed" },
{ "time": 1.9333, "name": "cloud-eyes-open" },
{ "time": 2.4333, "name": "cloud-eyes-closed" },
{ "time": 2.6, "name": "cloud-eyes-open" },
{ "time": 3.9333, "name": "cloud-eyes-closed" },
{ "time": 4.1, "name": "cloud-eyes-open" }
]
},
"cloud-mouth": {
"attachment": [
{ "time": 0.2, "name": "cloud-mouth-open" },
{ "time": 0.9, "name": "cloud-mouth-closed" }
]
},
"pot-eyes": {
"attachment": [
{ "time": 0.1333, "name": "pot-eyes-closed" },
{ "time": 0.3, "name": "pot-eyes-open" },
{ "time": 1.0667, "name": "pot-eyes-closed" },
{ "time": 1.5, "name": "pot-eyes-open" },
{ "time": 3.0333, "name": "pot-eyes-closed" },
{ "time": 3.2333, "name": "pot-eyes-open" },
{ "time": 3.4667, "name": "pot-eyes-closed" },
{ "time": 3.6667, "name": "pot-eyes-open" }
]
},
"pot-mouth": {
"attachment": [
{ "time": 0.1333, "name": "pot-mouth-open" },
{ "time": 0.3, "name": "pot-mouth-smile-big" },
{ "time": 1.0667, "name": "pot-mouth-pouty" },
{ "time": 2.4, "name": "pot-mouth-smile" },
{ "time": 3.0333, "name": "pot-mouth-smile-big" }
]
}
},
"bones": {
"pot": {
"rotate": [
{ "time": 1.1 },
{ "time": 1.2, "value": -12.76 },
{ "time": 1.5333, "curve": "stepped" },
{ "time": 3.7667 },
{ "time": 3.9, "value": 8.28 },
{ "time": 4.2333, "value": -4.34 },
{ "time": 4.4333 }
],
"scale": [
{},
{ "time": 0.2, "y": 0.752 },
{ "time": 0.4, "x": 0.845, "y": 1.068 },
{ "time": 0.6333 }
]
},
"pot-control": {
"translatex": [
{
"time": 1.0667,
"curve": [ 1.222, -203.48, 1.378, -610.44 ]
},
{ "time": 1.5333, "value": -610.44, "curve": "stepped" },
{
"time": 2.2333,
"value": -610.44,
"curve": [ 2.389, -610.44, 2.544, -478.45 ]
},
{ "time": 2.7, "value": -478.45, "curve": "stepped" },
{
"time": 3.8333,
"value": -478.45,
"curve": [ 3.971, -478.45, 4.095, -135.56 ]
},
{ "time": 4.2333 }
],
"translatey": [
{
"time": 1.0333,
"curve": [ 1.089, 10.56, 1.144, 44.34 ]
},
{
"time": 1.2,
"value": 44.34,
"curve": [ 1.256, 44.34, 1.311, 0 ]
},
{ "time": 1.3667, "curve": "stepped" },
{
"time": 2.2333,
"curve": [ 2.408, 0, 2.392, 44.34 ]
},
{
"time": 2.4333,
"value": 44.34,
"curve": [ 2.455, 44.34, 2.51, 0 ]
},
{ "time": 2.6, "curve": "stepped" },
{
"time": 3.8,
"curve": [ 3.841, 14.78, 3.893, 44.34 ]
},
{
"time": 3.9333,
"value": 44.34,
"curve": [ 4.023, 44.34, 4.111, 14.78 ]
},
{ "time": 4.2 }
]
},
"cloud-base-1": {
"rotate": [
{
"curve": [ 0.144, -9.36, 0.289, -17.29 ]
},
{
"time": 0.4333,
"value": -17.29,
"curve": [ 0.5, -17.29, 0.567, -4.32 ]
},
{ "time": 0.6333 }
],
"scale": [
{
"curve": [ 0.089, 1, 0.178, 1.064, 0.089, 1, 0.178, 1.064 ]
},
{
"time": 0.2667,
"x": 1.064,
"y": 1.064,
"curve": [ 0.411, 1.064, 0.556, 1.021, 0.411, 1.064, 0.556, 1.021 ]
},
{ "time": 0.7 }
]
},
"cloud-base-4": {
"rotate": [
{
"curve": [ 0.1, 5.55, 0.2, 14.81 ]
},
{
"time": 0.3,
"value": 14.81,
"curve": [ 0.467, 14.81, 0.633, 9.25 ]
},
{ "time": 0.8 }
],
"scale": [
{
"curve": [ 0.089, 1, 0.178, 1.064, 0.089, 1, 0.178, 1.064 ]
},
{
"time": 0.2667,
"x": 1.064,
"y": 1.064,
"curve": [ 0.411, 1.064, 0.556, 1.021, 0.411, 1.064, 0.556, 1.021 ]
},
{ "time": 0.7 }
]
},
"cloud": {
"translate": [
{ "time": 0.2333 },
{ "time": 0.3333, "y": 30.43 },
{ "time": 0.4667 },
{ "time": 0.5667, "y": 30.43 },
{ "time": 0.6667 },
{ "time": 0.7667, "y": 30.43 },
{ "time": 0.9333 }
]
}
},
"physics": {
"rain/rain-blue": {
"reset": [
{ "time": 0.4667 },
{ "time": 0.9333 },
{ "time": 1.4 },
{ "time": 1.8667 },
{ "time": 2.3333 },
{ "time": 2.8 },
{ "time": 3.2667 },
{ "time": 3.7333 },
{ "time": 4.2 },
{ "time": 4.6667 }
]
},
"rain/rain-color": {
"reset": [
{ "time": 0.3 },
{ "time": 0.7667 },
{ "time": 1.2333 },
{ "time": 1.7 },
{ "time": 2.1667 },
{ "time": 2.6333 },
{ "time": 3.1 },
{ "time": 3.5667 },
{ "time": 4.0333 },
{ "time": 4.5 }
]
},
"rain/rain-green": {
"reset": [
{ "time": 0.1333 },
{ "time": 0.6 },
{ "time": 1.0667 },
{ "time": 1.5333 },
{ "time": 2 },
{ "time": 2.4667 },
{ "time": 2.9333 },
{ "time": 3.4 },
{ "time": 3.8667 },
{ "time": 4.3333 }
]
},
"rain/rain-white": {
"reset": [
{},
{ "time": 0.4667 },
{ "time": 0.9333 },
{ "time": 1.4 },
{ "time": 1.8667 },
{ "time": 2.3333 },
{ "time": 2.8 },
{ "time": 3.2667 },
{ "time": 3.7333 },
{ "time": 4.2 }
]
}
}
},
"pot-moving-followed-by-rain": {
"bones": {
"pot-control": {
"translate": [
{},
{ "time": 0.5667, "x": -389.34, "curve": "stepped" },
{ "time": 1.1667, "x": -389.34 },
{ "time": 2.2, "x": 463.88, "curve": "stepped" },
{ "time": 2.4667, "x": 463.88 },
{ "time": 3 }
]
}
},
"physics": {
"rain/rain-blue": {
"reset": [
{ "time": 0.4667 },
{ "time": 0.9333 },
{ "time": 1.4 },
{ "time": 1.8667 },
{ "time": 2.3333 },
{ "time": 2.8 },
{ "time": 3.2667 }
]
},
"rain/rain-color": {
"reset": [
{ "time": 0.3 },
{ "time": 0.7667 },
{ "time": 1.2333 },
{ "time": 1.7 },
{ "time": 2.1667 },
{ "time": 2.6333 },
{ "time": 3.1 }
]
},
"rain/rain-green": {
"reset": [
{ "time": 0.1333 },
{ "time": 0.6 },
{ "time": 1.0667 },
{ "time": 1.5333 },
{ "time": 2 },
{ "time": 2.4667 },
{ "time": 2.9333 }
]
},
"rain/rain-white": {
"reset": [
{},
{ "time": 0.4667 },
{ "time": 0.9333 },
{ "time": 1.4 },
{ "time": 1.8667 },
{ "time": 2.3333 },
{ "time": 2.8 }
]
}
}
},
"rain": {
"physics": {
"rain/rain-blue": {
"reset": [
{ "time": 0.4667 }
]
},
"rain/rain-color": {
"reset": [
{ "time": 0.3 }
]
},
"rain/rain-green": {
"reset": [
{ "time": 0.1333 }
]
},
"rain/rain-white": {
"reset": [
{}
]
}
}
}
}
}

Binary file not shown.

View File

@ -0,0 +1,11 @@
sack-pma.png
size: 512, 512
filter: Linear, Linear
pma: true
scale: 0.5
cape-back
bounds: 237, 149, 260, 260
cape-front
bounds: 237, 43, 200, 104
sack
bounds: 2, 2, 233, 407

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -0,0 +1,210 @@
snowglobe-pma.png
size: 1024, 1024
filter: Linear, Linear
pma: true
scale: 0.5
arm-down-r
bounds: 884, 129, 76, 53
arm-up-l
bounds: 718, 23, 49, 114
rotate: 90
arm-up-r
bounds: 867, 69, 58, 104
rotate: 90
blue-present-base
bounds: 884, 883, 126, 139
eye-reflex-l
bounds: 991, 347, 12, 13
eye-reflex-r
bounds: 867, 129, 10, 12
rotate: 90
eye-white-l
bounds: 987, 697, 35, 43
eye-white-r
bounds: 560, 2, 34, 48
eyelashes-l
bounds: 982, 2, 32, 40
gift-base
bounds: 884, 335, 125, 105
rotate: 90
gift-decoration
bounds: 518, 2, 48, 40
rotate: 90
globe-borders
bounds: 2, 141, 880, 881
glove-l
bounds: 982, 44, 40, 61
glove-shadow-l
bounds: 991, 403, 28, 57
glove-shadow-r
bounds: 960, 204, 38, 62
rotate: 90
green-present-base
bounds: 138, 13, 126, 139
rotate: 90
hair-front
bounds: 884, 590, 150, 101
rotate: 90
hair-side
bounds: 995, 574, 27, 53
hair-strand-2
bounds: 987, 629, 26, 66
hair-strand-5
bounds: 690, 7, 25, 47
hair-strand-6
bounds: 995, 507, 14, 35
head-base
bounds: 2, 4, 134, 135
leg-down-l
bounds: 596, 3, 92, 51
leg-up-l
bounds: 718, 74, 65, 147
rotate: 90
leg-up-l-fuzzy
bounds: 834, 2, 73, 65
leg-up-r
bounds: 576, 56, 83, 140
rotate: 90
leg-up-r-fuzzy
bounds: 909, 2, 65, 71
rotate: 90
mouth
bounds: 991, 362, 39, 13
rotate: 90
neck-scarf
bounds: 279, 25, 142, 114
nose
bounds: 995, 488, 17, 14
rotate: 90
nose-shadow
bounds: 299, 8, 15, 15
red-present-base
bounds: 884, 742, 126, 139
scarf-end-l
bounds: 884, 462, 126, 109
rotate: 90
scarf-end-r
bounds: 423, 52, 151, 87
scarf-ribbon-middle-r
bounds: 960, 244, 62, 89
scarf-shadow
bounds: 884, 184, 149, 74
rotate: 90
shoe-l
bounds: 973, 107, 49, 95
shoe-r
bounds: 423, 6, 44, 93
rotate: 90
shoelace
bounds: 279, 2, 21, 18
rotate: 90
snow
bounds: 995, 544, 27, 28
string
bounds: 138, 6, 5, 53
rotate: 90
snowglobe-pma_2.png
size: 1024, 1024
filter: Linear, Linear
pma: true
scale: 0.5
arm-down-l
bounds: 884, 579, 56, 54
arm-down-l-fuzzy
bounds: 884, 635, 57, 59
arm-down-r-fuzzy
bounds: 884, 696, 61, 66
blue-present-decoration
bounds: 884, 216, 41, 40
green-present-decoration
bounds: 884, 216, 41, 40
ear-l
bounds: 884, 527, 55, 50
ear-r
bounds: 291, 94, 45, 66
rotate: 90
eyelashes-r
bounds: 2, 2, 32, 47
rotate: 90
globe-texture-strong
bounds: 2, 141, 880, 881
glove-fingers-l
bounds: 884, 361, 39, 51
glove-fingers-r
bounds: 884, 469, 41, 56
glove-r
bounds: 76, 36, 44, 65
rotate: 90
hair-strand-1
bounds: 359, 102, 37, 65
rotate: 90
hair-strand-3
bounds: 884, 414, 40, 53
hair-strand-4
bounds: 939, 893, 37, 69
iris-l
bounds: 884, 173, 40, 41
iris-r
bounds: 143, 39, 40, 41
leg-down-r
bounds: 2, 36, 72, 103
pupil-l
bounds: 51, 2, 32, 32
pupil-r
bounds: 85, 2, 32, 32
red-present-decoration
bounds: 426, 99, 41, 40
scarf-pompom-l
bounds: 884, 309, 50, 46
rotate: 90
scarf-pompom-r
bounds: 884, 258, 49, 47
rotate: 90
scarf-ribbon-bottom-l
bounds: 884, 856, 106, 53
rotate: 90
scarf-ribbon-bottom-r
bounds: 76, 82, 105, 57
scarf-ribbon-middle-l
bounds: 884, 764, 63, 90
scarf-ribbon-top-l
bounds: 884, 964, 105, 58
scarf-ribbon-top-r
bounds: 183, 86, 106, 53
snowglobe-pma_3.png
size: 1024, 1024
filter: Linear, Linear
pma: true
scale: 0.5
globe-texture
bounds: 2, 2, 880, 881
snowglobe-pma_4.png
size: 1024, 1024
filter: Linear, Linear
pma: true
scale: 0.5
elf-shadow
bounds: 2, 2, 395, 158
globe-reflections
bounds: 2, 162, 646, 835
globe-shadow
bounds: 650, 77, 920, 366
rotate: 90
hat
bounds: 399, 7, 153, 221
rotate: 90
snowglobe-pma_5.png
size: 1024, 1024
filter: Linear, Linear
pma: true
scale: 0.5
body
bounds: 710, 569, 139, 151
globe-base-back
bounds: 2, 2, 606, 258
globe-base-front
bounds: 2, 262, 706, 458

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -49,6 +49,7 @@
// Make the stage interactive and register pointer events
app.stage.eventMode = "dynamic";
app.stage.hitArea = app.screen;
let isDragging = false;
app.stage.on("pointerdown", (e) => {

View File

@ -0,0 +1,47 @@
<html>
<head>
<meta charset="UTF-8" />
<title>spine-pixi</title>
<script src="https://cdn.jsdelivr.net/npm/pixi.js@7.2.4/dist/pixi.min.js"></script>
<script src="../dist/iife/spine-pixi.js"></script>
<script src="https://cdn.jsdelivr.net/npm/tweakpane@3.1.9/dist/tweakpane.min.js"></script>
<link rel="stylesheet" href="../../index.css">
</head>
<body>
<script>
(async function () {
var app = new PIXI.Application({
width: window.innerWidth,
height: window.innerHeight,
resolution: window.devicePixelRatio || 1,
autoDensity: true,
resizeTo: window,
backgroundColor: 0x333333,
hello: true,
});
document.body.appendChild(app.view);
// Pre-load the skeleton data and atlas. You can also load .json skeleton data.
PIXI.Assets.add("sackData", "./assets/sack-pro.skel");
PIXI.Assets.add("sackAtlas", "./assets/sack-pma.atlas");
await PIXI.Assets.load(["sackData", "sackAtlas"]);
// Create the spine display object
const sack = spine.Spine.from("sackData", "sackAtlas", {
scale: 0.2,
});
// Center the spine object on screen.
sack.x = window.innerWidth / 2;
sack.y = window.innerHeight / 2 + sack.getBounds().height / 2;
// Set animation "FOA" on track 0, looped.
sack.state.setAnimation(0, "FOA", true);
// Add the display object to the stage.
app.stage.addChild(sack);
})();
</script>
</body>
</html>

View File

@ -0,0 +1,143 @@
<html>
<head>
<meta charset="UTF-8" />
<title>spine-pixi</title>
<script src="https://cdn.jsdelivr.net/npm/pixi.js@7.2.4/dist/pixi.min.js"></script>
<script src="../dist/iife/spine-pixi.js"></script>
<script src="https://cdn.jsdelivr.net/npm/tweakpane@3.1.9/dist/tweakpane.min.js"></script>
<link rel="stylesheet" href="../../index.css">
</head>
<body>
<script>
(async function () {
var app = new PIXI.Application({
width: window.innerWidth,
height: window.innerHeight,
resolution: window.devicePixelRatio || 1,
autoDensity: true,
resizeTo: window,
backgroundColor: 0x333333,
hello: true,
});
document.body.appendChild(app.view);
// Pre-load the skeleton data and atlas. You can also load .json skeleton data.
PIXI.Assets.add("girlData", "./assets/celestial-circus-pro.skel");
PIXI.Assets.add("girlAtlas", "./assets/celestial-circus-pma.atlas");
await PIXI.Assets.load(["girlData", "girlAtlas"]);
// Create the spine display object
const girl = spine.Spine.from("girlData", "girlAtlas", {
scale: 0.20,
});
// Center the spine object on screen.
girl.x = window.innerWidth / 2;
girl.y = window.innerHeight / 2 + girl.getBounds().height / 4;
// Set animation "eyeblink-long" on track 0, looped.
girl.state.setAnimation(0, "eyeblink-long", true);
// Add the display object to the stage.
app.stage.addChild(girl);
// Make the stage interactive and register pointer events
app.stage.eventMode = "dynamic";
app.stage.hitArea = app.screen;
let isDragging = false;
let lastX = -1, lastY = -1;
app.stage.on("pointerdown", (e) => {
isDragging = true;
let mousePosition = new spine.Vector2(e.data.global.x, e.data.global.y);
lastX = mousePosition.x;
lastY = mousePosition.y;
});
app.stage.on("pointermove", (e) => {
if (isDragging) {
let mousePosition = new spine.Vector2(e.data.global.x, e.data.global.y);
girl.skeleton.x += mousePosition.x - lastX;
girl.skeleton.y += mousePosition.y - lastY;
lastX = mousePosition.x;
lastY = mousePosition.y;
}
});
const endDrag = () => (isDragging = false);
app.stage.on("pointerup", endDrag);
app.stage.on("pointerupoutside", endDrag);
document.addEventListener('fullscreenchange', () => {
endDrag();
});
const buttonContainer = new PIXI.Container();
buttonContainer.position.set(0, 0);
const buttonBackground = new PIXI.Graphics();
buttonBackground.beginFill(0x000000); // Button background color
buttonBackground.drawRoundedRect(0, 0, 140, 100, 5); // Button dimensions
buttonBackground.endFill();
buttonContainer.addChild(buttonBackground);
buttonContainer.alpha = 0.7;
const fontStyle = {
fill: 0xdddddd,
fontFamily: 'sans-serif',
fontSize: 16,
};
// Create the text label for the heading
const textHeading = new PIXI.Text("Drag anywhere", fontStyle); // Button text and color
textHeading.position.set(15, 15); // Set the position of the text within the button
buttonContainer.addChild(textHeading);
// Create the text label for the FPS counter
const textFps = new PIXI.Text("0 fps", fontStyle);
textFps.position.set(15, 40);
buttonContainer.addChild(textFps);
// Create the text label for the button toggle fullscreen
const textButton = new PIXI.Text("Fullscreen", fontStyle); // Button text and color
textButton.position.set(15, 65); // Set the position of the text within the button
buttonContainer.addChild(textButton);
// Add the button container to the stage
app.stage.addChild(buttonContainer);
buttonContainer.interactive = true;
buttonContainer.buttonMode = true;
let fsEnabled = false;
buttonContainer.on('pointerdown', () => {
if (fsEnabled) {
document.exitFullscreen();
textButton.text = "Fullscreen";
} else {
app.renderer.view.requestFullscreen();
textButton.text = "Windowed";
}
fsEnabled = !fsEnabled;
});
app.ticker.add(throttle(() => textFps.text = app.ticker.FPS.toFixed(2) + " fps", 250));
})();
const throttle = (func, delay) => {
let lastCall = 0;
return (...args) => {
const now = Date.now();
if (now - lastCall >= delay) {
func.apply(this, args);
lastCall = now;
}
};
}
</script>
</body>
</html>

View File

@ -0,0 +1,47 @@
<html>
<head>
<meta charset="UTF-8" />
<title>spine-pixi</title>
<script src="https://cdn.jsdelivr.net/npm/pixi.js@7.2.4/dist/pixi.min.js"></script>
<script src="../dist/iife/spine-pixi.js"></script>
<script src="https://cdn.jsdelivr.net/npm/tweakpane@3.1.9/dist/tweakpane.min.js"></script>
<link rel="stylesheet" href="../../index.css">
</head>
<body>
<script>
(async function () {
var app = new PIXI.Application({
width: window.innerWidth,
height: window.innerHeight,
resolution: window.devicePixelRatio || 1,
autoDensity: true,
resizeTo: window,
backgroundColor: 0x333333,
hello: true,
});
document.body.appendChild(app.view);
// Pre-load the skeleton data and atlas. You can also load .json skeleton data.
PIXI.Assets.add("snowglobeData", "./assets/snowglobe-pro.skel");
PIXI.Assets.add("snowglobeAtlas", "./assets/snowglobe-pma.atlas");
await PIXI.Assets.load(["snowglobeData", "snowglobeAtlas"]);
// Create the spine display object
const snowglobe = spine.Spine.from("snowglobeData", "snowglobeAtlas", {
scale: 0.25,
});
// Center the spine object on screen.
snowglobe.x = window.innerWidth / 2;
snowglobe.y = window.innerHeight / 2 + snowglobe.getBounds().height / 4;
// Set animation "FOA" on track 0, looped.
snowglobe.state.setAnimation(0, "shake", true);
// Add the display object to the stage.
app.stage.addChild(snowglobe);
})();
</script>
</body>
</html>

View File

@ -0,0 +1,47 @@
<html>
<head>
<meta charset="UTF-8" />
<title>spine-pixi</title>
<script src="https://cdn.jsdelivr.net/npm/pixi.js@7.2.4/dist/pixi.min.js"></script>
<script src="../dist/iife/spine-pixi.js"></script>
<script src="https://cdn.jsdelivr.net/npm/tweakpane@3.1.9/dist/tweakpane.min.js"></script>
<link rel="stylesheet" href="../../index.css">
</head>
<body>
<script>
(async function () {
var app = new PIXI.Application({
width: window.innerWidth,
height: window.innerHeight,
resolution: window.devicePixelRatio || 1,
autoDensity: true,
resizeTo: window,
backgroundColor: 0x333333,
hello: true,
});
document.body.appendChild(app.view);
// Pre-load the skeleton data and atlas. You can also load .json skeleton data.
PIXI.Assets.add("cloudPotData", "./assets/cloud-pot.skel");
PIXI.Assets.add("cloudPotAtlas", "./assets/cloud-pot-pma.atlas");
await PIXI.Assets.load(["cloudPotData", "cloudPotAtlas"]);
// Create the spine display object
const cloudPot = spine.Spine.from("cloudPotData", "cloudPotAtlas", {
scale: 0.25,
});
// Center the spine object on screen.
cloudPot.x = window.innerWidth / 2;
cloudPot.y = window.innerHeight / 2 + cloudPot.getBounds().height / 4;
// Set animation "playing-in-the-rain" on track 0, looped.
cloudPot.state.setAnimation(0, "playing-in-the-rain", true);
// Add the display object to the stage.
app.stage.addChild(cloudPot);
})();
</script>
</body>
</html>

View File

@ -137,7 +137,9 @@ export class Spine extends Container {
protected internalUpdate (_deltaFrame: number, deltaSeconds?: number): void {
// Because reasons, pixi uses deltaFrames at 60fps. We ignore the default deltaFrames and use the deltaSeconds from pixi ticker.
this.state.update(deltaSeconds ?? Ticker.shared.deltaMS / 1000);
const delta = deltaSeconds ?? Ticker.shared.deltaMS / 1000;
this.state.update(delta);
this.skeleton.update(delta);
}
public override updateTransform (): void {

View File

@ -45,7 +45,7 @@
var skeletonData = skeletonBinary.readSkeletonData(assetManager.require("assets/sack-pro.skel"));
this.skeleton = new spine.Skeleton(skeletonData);
// Create an AnimationState, and set the "run" animation in looping mode.
// Create an AnimationState, and set the "FOA" animation in looping mode.
var animationStateData = new spine.AnimationStateData(skeletonData);
this.animationState = new spine.AnimationState(animationStateData);
this.animationState.setAnimation(0, "FOA", true);

View File

@ -46,7 +46,7 @@
var skeletonData = skeletonBinary.readSkeletonData(assetManager.require("assets/snowglobe-pro.skel"));
this.skeleton = new spine.Skeleton(skeletonData);
// Create an AnimationState, and set the "run" animation in looping mode.
// Create an AnimationState, and set the "shake" animation in looping mode.
var animationStateData = new spine.AnimationStateData(skeletonData);
this.animationState = new spine.AnimationState(animationStateData);
this.animationState.setAnimation(0, "shake", true);

View File

@ -46,7 +46,7 @@
var skeletonData = skeletonBinary.readSkeletonData(assetManager.require("assets/cloud-pot.skel"));
this.skeleton = new spine.Skeleton(skeletonData);
// Create an AnimationState, and set the "run" animation in looping mode.
// Create an AnimationState, and set the "playing-in-the-rain" animation in looping mode.
var animationStateData = new spine.AnimationStateData(skeletonData);
this.animationState = new spine.AnimationState(animationStateData);
this.animationState.setAnimation(0, "playing-in-the-rain", true);