diff --git a/examples/export/export.sh b/examples/export/export.sh index 3099af86b..b36522781 100755 --- a/examples/export/export.sh +++ b/examples/export/export.sh @@ -16,7 +16,7 @@ fi echo "Spine exe: $SPINE_EXE" if [ "$#" -eq 0 ]; then - echo "Enter the Spine editor version to use for the export (eg 3.8.99):" + echo "Enter the Spine editor version to use for the export (eg 4.1.xx):" read version else version=${1%/} @@ -100,6 +100,7 @@ echo "Exporting assets..." -i ../spineboy/spineboy-ess.spine -o ../spineboy/export -e binary.json \ -i ../spineboy/spineboy-pro.spine -o ../spineboy/export -e json.json \ -i ../spineboy/spineboy-pro.spine -o ../spineboy/export -e binary.json \ +-i ../spineboy/spineboy-pro.spine -o ../spineboy/export/spineboy-run.atlas -e png-0.5-frame-by-frame.json \ -i ../spineboy/images -o ../spineboy/export -n spineboy -p atlas-0.5.json \ -i ../spineboy/images -o ../spineboy/export -n spineboy-pma -p atlas-0.5-pma.json \ \ diff --git a/examples/export/png-0.5-frame-by-frame.json b/examples/export/png-0.5-frame-by-frame.json new file mode 100644 index 000000000..16cca03cf --- /dev/null +++ b/examples/export/png-0.5-frame-by-frame.json @@ -0,0 +1,87 @@ +{ +"class": "export-png", +"exportType": "animation", +"skeletonType": "single", +"skeleton": "spineboy-pro", +"animationType": "single", +"animation": "run", +"skinType": "current", +"skinNone": false, +"skin": null, +"maxBounds": false, +"renderImages": true, +"renderBones": false, +"renderOthers": false, +"scale": 50, +"fitWidth": 0, +"fitHeight": 0, +"enlarge": false, +"background": null, +"fps": 15, +"lastFrame": false, +"cropWidth": 0, +"cropHeight": 0, +"rangeStart": -1, +"rangeEnd": -1, +"packAtlas": { + "stripWhitespaceX": true, + "stripWhitespaceY": true, + "rotation": true, + "alias": true, + "ignoreBlankImages": false, + "alphaThreshold": 3, + "minWidth": 16, + "minHeight": 16, + "maxWidth": 2048, + "maxHeight": 2048, + "pot": false, + "multipleOfFour": false, + "square": false, + "outputFormat": "png", + "jpegQuality": 0.9, + "premultiplyAlpha": true, + "bleed": false, + "scale": [ 1 ], + "scaleSuffix": [ "" ], + "scaleResampling": [ "bicubic" ], + "paddingX": 2, + "paddingY": 2, + "edgePadding": true, + "duplicatePadding": false, + "filterMin": "Linear", + "filterMag": "Linear", + "wrapX": "ClampToEdge", + "wrapY": "ClampToEdge", + "format": "RGBA8888", + "atlasExtension": ".atlas", + "combineSubdirectories": false, + "flattenPaths": false, + "useIndexes": true, + "debug": false, + "fast": false, + "limitMemory": true, + "currentProject": true, + "packing": "rectangles", + "prettyPrint": true, + "legacyOutput": false, + "webp": null, + "bleedIterations": 2, + "ignore": false, + "separator": "_", + "silent": false +}, +"compression": 9, +"bruteForce": true, +"quantize": true, +"quality": 100, +"speed": 1, +"dither": 0, +"maxColors": 256, +"pad": false, +"msaa": 4, +"smoothing": 8, +"renderSelection": false, +"cropX": 0, +"cropY": 0, +"open": false +} \ No newline at end of file diff --git a/examples/spineboy/export/spineboy-run.atlas b/examples/spineboy/export/spineboy-run.atlas new file mode 100644 index 000000000..ce32001a8 --- /dev/null +++ b/examples/spineboy/export/spineboy-run.atlas @@ -0,0 +1,60 @@ +spineboy-run.png + size: 1181, 687 + filter: Linear, Linear + pma: true +spineboy-pro-run + index: 8 + bounds: 2, 371, 303, 314 + offsets: 11, 22, 316, 341 + origin: 142, 3 +spineboy-pro-run + index: 9 + bounds: 2, 44, 278, 325 + offsets: 30, 2, 316, 341 + origin: 142, 3 +spineboy-pro-run + index: 0 + bounds: 307, 439, 246, 320 + offsets: 67, 1, 316, 341 + rotate: 90 + origin: 142, 3 +spineboy-pro-run + index: 3 + bounds: 629, 443, 242, 320 + offsets: 12, 20, 316, 341 + rotate: 90 + origin: 142, 3 +spineboy-pro-run + index: 7 + bounds: 951, 389, 228, 296 + offsets: 36, 33, 316, 341 + origin: 142, 3 +spineboy-pro-run + index: 4 + bounds: 307, 195, 242, 320 + offsets: 2, 4, 316, 341 + rotate: 90 + origin: 142, 3 +spineboy-pro-run + index: 5 + bounds: 629, 200, 241, 316 + offsets: 8, 3, 316, 341 + rotate: 90 + origin: 142, 3 +spineboy-pro-run + index: 1 + bounds: 282, 2, 191, 318 + offsets: 70, 3, 316, 341 + rotate: 90 + origin: 142, 3 +spineboy-pro-run + index: 2 + bounds: 947, 81, 226, 306 + offsets: 34, 26, 316, 341 + origin: 142, 3 +spineboy-pro-run + index: 6 + bounds: 629, 4, 194, 316 + offsets: 68, 4, 316, 341 + rotate: 90 + origin: 142, 3 diff --git a/examples/spineboy/export/spineboy-run.png b/examples/spineboy/export/spineboy-run.png new file mode 100644 index 000000000..e28e0c6ba Binary files /dev/null and b/examples/spineboy/export/spineboy-run.png differ diff --git a/spine-libgdx/spine-libgdx-tests/assets/spineboy/spineboy-run.atlas b/spine-libgdx/spine-libgdx-tests/assets/spineboy/spineboy-run.atlas new file mode 100644 index 000000000..ce32001a8 --- /dev/null +++ b/spine-libgdx/spine-libgdx-tests/assets/spineboy/spineboy-run.atlas @@ -0,0 +1,60 @@ +spineboy-run.png + size: 1181, 687 + filter: Linear, Linear + pma: true +spineboy-pro-run + index: 8 + bounds: 2, 371, 303, 314 + offsets: 11, 22, 316, 341 + origin: 142, 3 +spineboy-pro-run + index: 9 + bounds: 2, 44, 278, 325 + offsets: 30, 2, 316, 341 + origin: 142, 3 +spineboy-pro-run + index: 0 + bounds: 307, 439, 246, 320 + offsets: 67, 1, 316, 341 + rotate: 90 + origin: 142, 3 +spineboy-pro-run + index: 3 + bounds: 629, 443, 242, 320 + offsets: 12, 20, 316, 341 + rotate: 90 + origin: 142, 3 +spineboy-pro-run + index: 7 + bounds: 951, 389, 228, 296 + offsets: 36, 33, 316, 341 + origin: 142, 3 +spineboy-pro-run + index: 4 + bounds: 307, 195, 242, 320 + offsets: 2, 4, 316, 341 + rotate: 90 + origin: 142, 3 +spineboy-pro-run + index: 5 + bounds: 629, 200, 241, 316 + offsets: 8, 3, 316, 341 + rotate: 90 + origin: 142, 3 +spineboy-pro-run + index: 1 + bounds: 282, 2, 191, 318 + offsets: 70, 3, 316, 341 + rotate: 90 + origin: 142, 3 +spineboy-pro-run + index: 2 + bounds: 947, 81, 226, 306 + offsets: 34, 26, 316, 341 + origin: 142, 3 +spineboy-pro-run + index: 6 + bounds: 629, 4, 194, 316 + offsets: 68, 4, 316, 341 + rotate: 90 + origin: 142, 3 diff --git a/spine-libgdx/spine-libgdx-tests/assets/spineboy/spineboy-run.png b/spine-libgdx/spine-libgdx-tests/assets/spineboy/spineboy-run.png new file mode 100644 index 000000000..e28e0c6ba Binary files /dev/null and b/spine-libgdx/spine-libgdx-tests/assets/spineboy/spineboy-run.png differ diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/FrameByFrameTest.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/FrameByFrameTest.java index 958d36fbd..3b292c688 100644 --- a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/FrameByFrameTest.java +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/FrameByFrameTest.java @@ -46,32 +46,22 @@ public class FrameByFrameTest extends ApplicationAdapter { TextureAtlas atlas; float time; - Animation walkAnimation, deathAnimation, current; + Animation walkAnimation, current; public void create () { camera = new OrthographicCamera(); batch = new PolygonSpriteBatch(); - atlas = new TextureAtlas("spineboy/frame-by-frame.atlas"); + atlas = new TextureAtlas("spineboy/spineboy-run.atlas"); - walkAnimation = new Animation(1 / 20f, atlas.createSprites("spineboy-pro-walk")); + walkAnimation = new Animation(1 / 15f, atlas.createSprites("spineboy-pro-run")); walkAnimation.setPlayMode(PlayMode.LOOP); - deathAnimation = new Animation(1 / 20f, atlas.createSprites("spineboy-pro-death")); - current = walkAnimation; } public void render () { time += Gdx.graphics.getDeltaTime(); - if (current == deathAnimation && current.isAnimationFinished(time)) { - current = walkAnimation; - time = 0; - } - if (Gdx.input.justTouched()) { - current = deathAnimation; - time = 0; - } AtlasSprite frame = current.getKeyFrame(time); float x = Math.round(Gdx.graphics.getWidth() / 2), y = 25;