mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 09:46:02 +08:00
Added animation state usage to example.
This commit is contained in:
parent
7d7e56bb24
commit
b58d02ee4b
410
spine-cocos2d-iphone/Resources/spineboy-jump.json
Normal file
410
spine-cocos2d-iphone/Resources/spineboy-jump.json
Normal file
@ -0,0 +1,410 @@
|
|||||||
|
{
|
||||||
|
"bones": {
|
||||||
|
"hip": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": 0, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "angle": 0, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "angle": 0 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": -11.57, "y": -3 },
|
||||||
|
{ "time": 0.2333, "x": -16.2, "y": -19.43 },
|
||||||
|
{
|
||||||
|
"time": 0.3333,
|
||||||
|
"x": 7.66,
|
||||||
|
"y": -8.48,
|
||||||
|
"curve": [ 0.057, 0.06, 0.712, 1 ]
|
||||||
|
},
|
||||||
|
{ "time": 0.3666, "x": 15.38, "y": 5.01 },
|
||||||
|
{ "time": 0.4666, "x": -7.84, "y": 57.22 },
|
||||||
|
{
|
||||||
|
"time": 0.6,
|
||||||
|
"x": -10.81,
|
||||||
|
"y": 96.34,
|
||||||
|
"curve": [ 0.241, 0, 1, 1 ]
|
||||||
|
},
|
||||||
|
{ "time": 0.7333, "x": -7.01, "y": 54.7 },
|
||||||
|
{ "time": 0.8, "x": -10.58, "y": 32.2 },
|
||||||
|
{ "time": 0.9333, "x": -31.99, "y": 0.45 },
|
||||||
|
{ "time": 1.0666, "x": -12.48, "y": -29.47 },
|
||||||
|
{ "time": 1.3666, "x": -11.57, "y": -3 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"left upper leg": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": 17.13 },
|
||||||
|
{ "time": 0.2333, "angle": 44.35 },
|
||||||
|
{ "time": 0.3333, "angle": 16.46 },
|
||||||
|
{ "time": 0.4, "angle": -9.88 },
|
||||||
|
{ "time": 0.4666, "angle": -11.42 },
|
||||||
|
{ "time": 0.5666, "angle": 23.46 },
|
||||||
|
{ "time": 0.7666, "angle": 71.82 },
|
||||||
|
{ "time": 0.9333, "angle": 65.53 },
|
||||||
|
{ "time": 1.0666, "angle": 51.01 },
|
||||||
|
{ "time": 1.3666, "angle": 17.13 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": -3, "y": -2.25, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": -3, "y": -2.25, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": -3, "y": -2.25 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"left lower leg": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": -16.25 },
|
||||||
|
{ "time": 0.2333, "angle": -52.21 },
|
||||||
|
{ "time": 0.4, "angle": 15.04 },
|
||||||
|
{ "time": 0.4666, "angle": -8.95 },
|
||||||
|
{ "time": 0.5666, "angle": -39.53 },
|
||||||
|
{ "time": 0.7666, "angle": -27.27 },
|
||||||
|
{ "time": 0.9333, "angle": -3.52 },
|
||||||
|
{ "time": 1.0666, "angle": -61.92 },
|
||||||
|
{ "time": 1.3666, "angle": -16.25 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 0, "y": 0 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"left foot": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": 0.33 },
|
||||||
|
{ "time": 0.2333, "angle": 6.2 },
|
||||||
|
{ "time": 0.3333, "angle": 14.73 },
|
||||||
|
{ "time": 0.4, "angle": -15.54 },
|
||||||
|
{ "time": 0.4333, "angle": -21.2 },
|
||||||
|
{ "time": 0.5666, "angle": -7.55 },
|
||||||
|
{ "time": 0.7666, "angle": -0.67 },
|
||||||
|
{ "time": 0.9333, "angle": -0.58 },
|
||||||
|
{ "time": 1.0666, "angle": 14.64 },
|
||||||
|
{ "time": 1.3666, "angle": 0.33 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 0, "y": 0 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"right upper leg": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": 25.97 },
|
||||||
|
{ "time": 0.2333, "angle": 46.43 },
|
||||||
|
{ "time": 0.3333, "angle": 22.61 },
|
||||||
|
{ "time": 0.4, "angle": 2.13 },
|
||||||
|
{
|
||||||
|
"time": 0.4666,
|
||||||
|
"angle": 0.04,
|
||||||
|
"curve": [ 0, 0, 0.637, 0.98 ]
|
||||||
|
},
|
||||||
|
{ "time": 0.6, "angle": 65.55 },
|
||||||
|
{ "time": 0.7666, "angle": 64.93 },
|
||||||
|
{ "time": 0.9333, "angle": 41.08 },
|
||||||
|
{ "time": 1.0666, "angle": 66.25 },
|
||||||
|
{ "time": 1.3666, "angle": 25.97 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": 5.74, "y": 0.61 },
|
||||||
|
{ "time": 0.2333, "x": 4.79, "y": 1.79 },
|
||||||
|
{ "time": 0.3333, "x": 6.05, "y": -4.55 },
|
||||||
|
{ "time": 0.9333, "x": 4.79, "y": 1.79, "curve": "stepped" },
|
||||||
|
{ "time": 1.0666, "x": 4.79, "y": 1.79 },
|
||||||
|
{ "time": 1.3666, "x": 5.74, "y": 0.61 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"right lower leg": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": -27.46 },
|
||||||
|
{ "time": 0.2333, "angle": -64.03 },
|
||||||
|
{ "time": 0.4, "angle": -48.36 },
|
||||||
|
{ "time": 0.5666, "angle": -76.86 },
|
||||||
|
{ "time": 0.7666, "angle": -26.89 },
|
||||||
|
{ "time": 0.9, "angle": -18.97 },
|
||||||
|
{ "time": 0.9333, "angle": -14.18 },
|
||||||
|
{ "time": 1.0666, "angle": -80.45 },
|
||||||
|
{ "time": 1.3666, "angle": -27.46 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 0, "y": 0 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"right foot": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": 1.08 },
|
||||||
|
{ "time": 0.2333, "angle": 16.02 },
|
||||||
|
{ "time": 0.3, "angle": 12.94 },
|
||||||
|
{ "time": 0.3333, "angle": 15.16 },
|
||||||
|
{ "time": 0.4, "angle": -14.7 },
|
||||||
|
{ "time": 0.4333, "angle": -12.85 },
|
||||||
|
{ "time": 0.4666, "angle": -19.18 },
|
||||||
|
{ "time": 0.5666, "angle": -15.82 },
|
||||||
|
{ "time": 0.6, "angle": -3.59 },
|
||||||
|
{ "time": 0.7666, "angle": -3.56 },
|
||||||
|
{ "time": 0.9333, "angle": 1.86 },
|
||||||
|
{ "time": 1.0666, "angle": 16.02 },
|
||||||
|
{ "time": 1.3666, "angle": 1.08 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 0, "y": 0 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"torso": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": -13.35 },
|
||||||
|
{ "time": 0.2333, "angle": -48.95 },
|
||||||
|
{ "time": 0.4333, "angle": -35.77 },
|
||||||
|
{ "time": 0.6, "angle": -4.59 },
|
||||||
|
{ "time": 0.7666, "angle": 14.61 },
|
||||||
|
{ "time": 0.9333, "angle": 15.74 },
|
||||||
|
{ "time": 1.0666, "angle": -32.44 },
|
||||||
|
{ "time": 1.3666, "angle": -13.35 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": -3.67, "y": 1.68, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": -3.67, "y": 1.68, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": -3.67, "y": 1.68 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"neck": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": 12.78 },
|
||||||
|
{ "time": 0.2333, "angle": 16.46 },
|
||||||
|
{ "time": 0.4, "angle": 26.49 },
|
||||||
|
{ "time": 0.6, "angle": 15.51 },
|
||||||
|
{ "time": 0.7666, "angle": 1.34 },
|
||||||
|
{ "time": 0.9333, "angle": 2.35 },
|
||||||
|
{ "time": 1.0666, "angle": 6.08 },
|
||||||
|
{ "time": 1.3, "angle": 21.23 },
|
||||||
|
{ "time": 1.3666, "angle": 12.78 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 0, "y": 0 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"head": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": 5.19 },
|
||||||
|
{ "time": 0.2333, "angle": 20.27 },
|
||||||
|
{ "time": 0.4, "angle": 15.27 },
|
||||||
|
{ "time": 0.6, "angle": -24.69 },
|
||||||
|
{ "time": 0.7666, "angle": -11.02 },
|
||||||
|
{ "time": 0.9333, "angle": -24.38 },
|
||||||
|
{ "time": 1.0666, "angle": 11.99 },
|
||||||
|
{ "time": 1.3, "angle": 4.86 },
|
||||||
|
{ "time": 1.3666, "angle": 5.19 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 0, "y": 0 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"left shoulder": {
|
||||||
|
"rotate": [
|
||||||
|
{
|
||||||
|
"time": 0,
|
||||||
|
"angle": 0.05,
|
||||||
|
"curve": [ 0, 0, 0.62, 1 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time": 0.2333,
|
||||||
|
"angle": 279.66,
|
||||||
|
"curve": [ 0.218, 0.67, 0.66, 0.99 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time": 0.5,
|
||||||
|
"angle": 62.27,
|
||||||
|
"curve": [ 0.462, 0, 0.764, 0.58 ]
|
||||||
|
},
|
||||||
|
{ "time": 0.9333, "angle": 28.91 },
|
||||||
|
{ "time": 1.0666, "angle": -8.62 },
|
||||||
|
{ "time": 1.1666, "angle": -18.43 },
|
||||||
|
{ "time": 1.3666, "angle": 0.05 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": -1.76, "y": 0.56, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": -1.76, "y": 0.56, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": -1.76, "y": 0.56 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"left hand": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": 11.58, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "angle": 11.58, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "angle": 11.58 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 0, "y": 0 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"left arm": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": 0.51 },
|
||||||
|
{ "time": 0.4333, "angle": 12.82 },
|
||||||
|
{ "time": 0.6, "angle": 47.55 },
|
||||||
|
{ "time": 0.9333, "angle": 12.82 },
|
||||||
|
{ "time": 1.1666, "angle": -6.5 },
|
||||||
|
{ "time": 1.3666, "angle": 0.51 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 0, "y": 0 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"right shoulder": {
|
||||||
|
"rotate": [
|
||||||
|
{
|
||||||
|
"time": 0,
|
||||||
|
"angle": 43.82,
|
||||||
|
"curve": [ 0, 0, 0.62, 1 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time": 0.2333,
|
||||||
|
"angle": -8.74,
|
||||||
|
"curve": [ 0.304, 0.58, 0.709, 0.97 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time": 0.5333,
|
||||||
|
"angle": -208.02,
|
||||||
|
"curve": [ 0.462, 0, 0.764, 0.58 ]
|
||||||
|
},
|
||||||
|
{ "time": 0.9333, "angle": -246.72 },
|
||||||
|
{ "time": 1.0666, "angle": -307.13 },
|
||||||
|
{ "time": 1.1666, "angle": 37.15 },
|
||||||
|
{ "time": 1.3666, "angle": 43.82 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": -7.84, "y": 7.19, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": -7.84, "y": 7.19, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": -7.84, "y": 7.19 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"right arm": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": -4.02 },
|
||||||
|
{ "time": 0.6, "angle": 17.5 },
|
||||||
|
{ "time": 0.9333, "angle": -4.02 },
|
||||||
|
{ "time": 1.1666, "angle": -16.72 },
|
||||||
|
{ "time": 1.3666, "angle": -4.02 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 0, "y": 0 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"right hand": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": 22.92, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "angle": 22.92, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "angle": 22.92 }
|
||||||
|
],
|
||||||
|
"translate": [
|
||||||
|
{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 0, "y": 0 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"rotate": [
|
||||||
|
{ "time": 0, "angle": 0 },
|
||||||
|
{ "time": 0.4333, "angle": -14.52 },
|
||||||
|
{ "time": 0.8, "angle": 9.86 },
|
||||||
|
{ "time": 1.3666, "angle": 0 }
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
|
||||||
|
{ "time": 1.3666, "x": 1, "y": 1 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -5,7 +5,9 @@
|
|||||||
@interface ExampleLayer : CCLayer {
|
@interface ExampleLayer : CCLayer {
|
||||||
Atlas *atlas;
|
Atlas *atlas;
|
||||||
SkeletonData *skeletonData;
|
SkeletonData *skeletonData;
|
||||||
Animation *animation;
|
Animation *walkAnimation;
|
||||||
|
Animation *jumpAnimation;
|
||||||
|
CCSkeleton* skeletonNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
+(CCScene*) scene;
|
+(CCScene*) scene;
|
||||||
|
|||||||
@ -13,23 +13,50 @@
|
|||||||
self = [super init];
|
self = [super init];
|
||||||
if (!self) return nil;
|
if (!self) return nil;
|
||||||
|
|
||||||
|
// Load atlas, skeleton, and animations.
|
||||||
atlas = Atlas_readAtlasFile("spineboy.atlas");
|
atlas = Atlas_readAtlasFile("spineboy.atlas");
|
||||||
SkeletonJson* json = SkeletonJson_create(atlas);
|
SkeletonJson* json = SkeletonJson_create(atlas);
|
||||||
json->scale = 0.75;
|
json->scale = 0.75;
|
||||||
skeletonData = SkeletonJson_readSkeletonDataFile(json, "spineboy-skeleton.json");
|
skeletonData = SkeletonJson_readSkeletonDataFile(json, "spineboy-skeleton.json");
|
||||||
animation = SkeletonJson_readAnimationFile(json, "spineboy-walk.json", skeletonData);
|
walkAnimation = SkeletonJson_readAnimationFile(json, "spineboy-walk.json", skeletonData);
|
||||||
|
jumpAnimation = SkeletonJson_readAnimationFile(json, "spineboy-jump.json", skeletonData);
|
||||||
SkeletonJson_dispose(json);
|
SkeletonJson_dispose(json);
|
||||||
|
|
||||||
CCSkeleton* skeletonNode = [CCSkeleton create:skeletonData];
|
// Configure mixing.
|
||||||
|
AnimationStateData* stateData = AnimationStateData_create();
|
||||||
|
AnimationStateData_setMix(stateData, walkAnimation, jumpAnimation, 0.4f);
|
||||||
|
AnimationStateData_setMix(stateData, jumpAnimation, walkAnimation, 0.4f);
|
||||||
|
|
||||||
|
skeletonNode = [CCSkeleton create:skeletonData stateData:stateData];
|
||||||
Skeleton_setToBindPose(skeletonNode->skeleton);
|
Skeleton_setToBindPose(skeletonNode->skeleton);
|
||||||
AnimationState_setAnimation(skeletonNode->state, animation, true);
|
AnimationState_setAnimation(skeletonNode->state, walkAnimation, true);
|
||||||
|
skeletonNode->timeScale = 0.15f;
|
||||||
skeletonNode->debugBones = true;
|
skeletonNode->debugBones = true;
|
||||||
|
|
||||||
CGSize windowSize = [[CCDirector sharedDirector] winSize];
|
CGSize windowSize = [[CCDirector sharedDirector] winSize];
|
||||||
[skeletonNode setPosition:ccp(windowSize.width / 2, 20)];
|
[skeletonNode setPosition:ccp(windowSize.width / 2, 20)];
|
||||||
[self addChild:skeletonNode];
|
[self addChild:skeletonNode];
|
||||||
|
|
||||||
|
[self scheduleUpdate];
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void) update:(ccTime)delta {
|
||||||
|
if (skeletonNode->state->animation == walkAnimation) {
|
||||||
|
if (skeletonNode->state->time > 2) AnimationState_setAnimation(skeletonNode->state, jumpAnimation, false);
|
||||||
|
} else {
|
||||||
|
if (skeletonNode->state->time > 1) AnimationState_setAnimation(skeletonNode->state, walkAnimation, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) dealloc {
|
||||||
|
Animation_dispose(walkAnimation);
|
||||||
|
Animation_dispose(jumpAnimation);
|
||||||
|
SkeletonData_dispose(skeletonData);
|
||||||
|
Atlas_dispose(atlas);
|
||||||
|
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@ -155,6 +155,7 @@
|
|||||||
43C32A1D170B1295004A9460 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A15170B1295004A9460 /* MainMenu.xib */; };
|
43C32A1D170B1295004A9460 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A15170B1295004A9460 /* MainMenu.xib */; };
|
||||||
43C32A1E170B1295004A9460 /* icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A17170B1295004A9460 /* icon.icns */; };
|
43C32A1E170B1295004A9460 /* icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A17170B1295004A9460 /* icon.icns */; };
|
||||||
43C32A20170B1295004A9460 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C32A19170B1295004A9460 /* main.m */; };
|
43C32A20170B1295004A9460 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C32A19170B1295004A9460 /* main.m */; };
|
||||||
|
43C32A26170B3442004A9460 /* spineboy-jump.json in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A25170B3442004A9460 /* spineboy-jump.json */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
@ -466,6 +467,7 @@
|
|||||||
43C32A18170B1295004A9460 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = "Resources-mac/Info.plist"; sourceTree = "<group>"; };
|
43C32A18170B1295004A9460 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = "Resources-mac/Info.plist"; sourceTree = "<group>"; };
|
||||||
43C32A19170B1295004A9460 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "../Resources-mac/main.m"; sourceTree = "<group>"; };
|
43C32A19170B1295004A9460 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "../Resources-mac/main.m"; sourceTree = "<group>"; };
|
||||||
43C32A1A170B1295004A9460 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Prefix.pch; path = "../Resources-mac/Prefix.pch"; sourceTree = "<group>"; };
|
43C32A1A170B1295004A9460 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Prefix.pch; path = "../Resources-mac/Prefix.pch"; sourceTree = "<group>"; };
|
||||||
|
43C32A25170B3442004A9460 /* spineboy-jump.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "spineboy-jump.json"; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@ -890,6 +892,7 @@
|
|||||||
children = (
|
children = (
|
||||||
4319B7D216FF9D3900C1D7A9 /* spineboy-skeleton.json */,
|
4319B7D216FF9D3900C1D7A9 /* spineboy-skeleton.json */,
|
||||||
4319B7D316FF9D3900C1D7A9 /* spineboy-walk.json */,
|
4319B7D316FF9D3900C1D7A9 /* spineboy-walk.json */,
|
||||||
|
43C32A25170B3442004A9460 /* spineboy-jump.json */,
|
||||||
4319B7D416FF9D3900C1D7A9 /* spineboy.atlas */,
|
4319B7D416FF9D3900C1D7A9 /* spineboy.atlas */,
|
||||||
4319B7D516FF9D3900C1D7A9 /* spineboy.png */,
|
4319B7D516FF9D3900C1D7A9 /* spineboy.png */,
|
||||||
);
|
);
|
||||||
@ -1036,6 +1039,7 @@
|
|||||||
43C32A1C170B1295004A9460 /* InfoPlist.strings in Resources */,
|
43C32A1C170B1295004A9460 /* InfoPlist.strings in Resources */,
|
||||||
43C32A1D170B1295004A9460 /* MainMenu.xib in Resources */,
|
43C32A1D170B1295004A9460 /* MainMenu.xib in Resources */,
|
||||||
43C32A1E170B1295004A9460 /* icon.icns in Resources */,
|
43C32A1E170B1295004A9460 /* icon.icns in Resources */,
|
||||||
|
43C32A26170B3442004A9460 /* spineboy-jump.json in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -48,14 +48,17 @@ typedef struct {
|
|||||||
@public
|
@public
|
||||||
Skeleton* skeleton;
|
Skeleton* skeleton;
|
||||||
AnimationState* state;
|
AnimationState* state;
|
||||||
|
float timeScale;
|
||||||
bool debugSlots;
|
bool debugSlots;
|
||||||
bool debugBones;
|
bool debugBones;
|
||||||
|
|
||||||
CCTextureAtlas* atlas; // All region attachments for a skeleton must use the same texture.
|
CCTextureAtlas* atlas; // All region attachments for a skeleton must use the same texture.
|
||||||
unsigned int quadCount;
|
unsigned int quadCount;
|
||||||
ccBlendFunc blendFunc;
|
ccBlendFunc blendFunc;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (CCSkeleton*) create:(SkeletonData*)skeletonData;
|
+ (CCSkeleton*) create:(SkeletonData*)skeletonData;
|
||||||
|
+ (CCSkeleton*) create:(SkeletonData*)skeletonData stateData:(AnimationStateData*)stateData;
|
||||||
|
|
||||||
- init:(SkeletonData*)skeletonData;
|
- init:(SkeletonData*)skeletonData;
|
||||||
- init:(SkeletonData*)skeletonData stateData:(AnimationStateData*)stateData;
|
- init:(SkeletonData*)skeletonData stateData:(AnimationStateData*)stateData;
|
||||||
|
|||||||
@ -69,7 +69,11 @@ Skeleton* _Cocos2dSkeleton_create (SkeletonData* data, CCSkeleton* node) {
|
|||||||
@implementation CCSkeleton
|
@implementation CCSkeleton
|
||||||
|
|
||||||
+ (CCSkeleton*) create:(SkeletonData*)skeletonData {
|
+ (CCSkeleton*) create:(SkeletonData*)skeletonData {
|
||||||
return [[[CCSkeleton alloc] init:skeletonData] autorelease];
|
return [CCSkeleton create:skeletonData stateData:0];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (CCSkeleton*) create:(SkeletonData*)skeletonData stateData:(AnimationStateData*)stateData {
|
||||||
|
return [[[CCSkeleton alloc] init:skeletonData stateData:stateData] autorelease];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id) init:(SkeletonData*)skeletonData {
|
- (id) init:(SkeletonData*)skeletonData {
|
||||||
@ -86,6 +90,8 @@ Skeleton* _Cocos2dSkeleton_create (SkeletonData* data, CCSkeleton* node) {
|
|||||||
blendFunc.src = GL_ONE;
|
blendFunc.src = GL_ONE;
|
||||||
blendFunc.dst = GL_ONE_MINUS_SRC_ALPHA;
|
blendFunc.dst = GL_ONE_MINUS_SRC_ALPHA;
|
||||||
|
|
||||||
|
timeScale = 1;
|
||||||
|
|
||||||
[self setShaderProgram:[[CCShaderCache sharedShaderCache] programForKey:kCCShader_PositionTextureColor]];
|
[self setShaderProgram:[[CCShaderCache sharedShaderCache] programForKey:kCCShader_PositionTextureColor]];
|
||||||
[self scheduleUpdate];
|
[self scheduleUpdate];
|
||||||
|
|
||||||
@ -100,7 +106,7 @@ Skeleton* _Cocos2dSkeleton_create (SkeletonData* data, CCSkeleton* node) {
|
|||||||
|
|
||||||
- (void) update:(ccTime)deltaTime {
|
- (void) update:(ccTime)deltaTime {
|
||||||
Skeleton_update(skeleton, deltaTime);
|
Skeleton_update(skeleton, deltaTime);
|
||||||
AnimationState_update(state, deltaTime);
|
AnimationState_update(state, deltaTime * timeScale);
|
||||||
AnimationState_apply(state, skeleton);
|
AnimationState_apply(state, skeleton);
|
||||||
Skeleton_updateWorldTransform(skeleton);
|
Skeleton_updateWorldTransform(skeleton);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user