[ts][pixi] Started physics example porting
@ -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/"
|
||||
|
||||
170
spine-ts/spine-pixi/example/assets/celestial-circus-pma.atlas
Normal 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
|
||||
BIN
spine-ts/spine-pixi/example/assets/celestial-circus-pma.png
Normal file
|
After Width: | Height: | Size: 698 KiB |
BIN
spine-ts/spine-pixi/example/assets/celestial-circus-pma_2.png
Normal file
|
After Width: | Height: | Size: 466 KiB |
3675
spine-ts/spine-pixi/example/assets/celestial-circus-pro.json
Normal file
BIN
spine-ts/spine-pixi/example/assets/celestial-circus-pro.skel
Normal file
168
spine-ts/spine-pixi/example/assets/celestial-circus.atlas
Normal 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
|
||||
BIN
spine-ts/spine-pixi/example/assets/celestial-circus.png
Normal file
|
After Width: | Height: | Size: 696 KiB |
BIN
spine-ts/spine-pixi/example/assets/celestial-circus_2.png
Normal file
|
After Width: | Height: | Size: 458 KiB |
86
spine-ts/spine-pixi/example/assets/cloud-pot-pma.atlas
Normal 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
|
||||
BIN
spine-ts/spine-pixi/example/assets/cloud-pot-pma.png
Normal file
|
After Width: | Height: | Size: 350 KiB |
844
spine-ts/spine-pixi/example/assets/cloud-pot.json
Normal 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": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
spine-ts/spine-pixi/example/assets/cloud-pot.skel
Normal file
11
spine-ts/spine-pixi/example/assets/sack-pma.atlas
Normal 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
|
||||
BIN
spine-ts/spine-pixi/example/assets/sack-pma.png
Normal file
|
After Width: | Height: | Size: 163 KiB |
4972
spine-ts/spine-pixi/example/assets/sack-pro.json
Normal file
BIN
spine-ts/spine-pixi/example/assets/sack-pro.skel
Normal file
210
spine-ts/spine-pixi/example/assets/snowglobe-pma.atlas
Normal 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
|
||||
BIN
spine-ts/spine-pixi/example/assets/snowglobe-pma.png
Normal file
|
After Width: | Height: | Size: 673 KiB |
BIN
spine-ts/spine-pixi/example/assets/snowglobe-pma_2.png
Normal file
|
After Width: | Height: | Size: 784 KiB |
BIN
spine-ts/spine-pixi/example/assets/snowglobe-pma_3.png
Normal file
|
After Width: | Height: | Size: 400 KiB |
BIN
spine-ts/spine-pixi/example/assets/snowglobe-pma_4.png
Normal file
|
After Width: | Height: | Size: 240 KiB |
BIN
spine-ts/spine-pixi/example/assets/snowglobe-pma_5.png
Normal file
|
After Width: | Height: | Size: 392 KiB |
2716
spine-ts/spine-pixi/example/assets/snowglobe-pro.json
Normal file
BIN
spine-ts/spine-pixi/example/assets/snowglobe-pro.skel
Normal 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) => {
|
||||
|
||||
47
spine-ts/spine-pixi/example/physics.html
Normal 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>
|
||||
143
spine-ts/spine-pixi/example/physics2.html
Normal 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>
|
||||
47
spine-ts/spine-pixi/example/physics3.html
Normal 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>
|
||||
47
spine-ts/spine-pixi/example/physics4.html
Normal 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>
|
||||
@ -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 {
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||