Updated example exports, fixed up example projects with mix-and-match skin api demo.

This commit is contained in:
badlogic 2019-07-09 13:47:05 +02:00
parent abc33713d8
commit f8f495524e
184 changed files with 25579 additions and 4235 deletions

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "Q8KgLY4VbdBYvPyGuiNq2Y2RInk", "hash": "Q8KgLY4VbdBYvPyGuiNq2Y2RInk",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -191.3, "x": -191.3,
"y": -4.51, "y": -4.51,
"width": 365.79, "width": 365.79,

Binary file not shown.

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "wvUSuckBO4KU4hUrc9le/ZCPCWQ", "hash": "wvUSuckBO4KU4hUrc9le/ZCPCWQ",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -191.3, "x": -191.3,
"y": -4.51, "y": -4.51,
"width": 368.26, "width": 368.26,

Binary file not shown.

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "UAXc6AgX0g45vxO38bHIVx5jbNo", "hash": "UAXc6AgX0g45vxO38bHIVx5jbNo",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -152.5, "x": -152.5,
"y": -151, "y": -151,
"width": 305, "width": 305,

Binary file not shown.

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "NNOWRquatThcn5jOLyqLMfcxT60", "hash": "NNOWRquatThcn5jOLyqLMfcxT60",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -366.31, "x": -366.31,
"y": -286.62, "y": -286.62,
"width": 660.39, "width": 660.39,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "FH/RmN73bEwPPZfiWwT2Fju/FHk", "hash": "FH/RmN73bEwPPZfiWwT2Fju/FHk",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -92.53, "x": -92.53,
"y": -5.3, "y": -5.3,
"width": 234.03, "width": 234.03,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs", "hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -134.12, "x": -134.12,
"y": -3.28, "y": -3.28,
"width": 266.94, "width": 266.94,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "GKlLtUkXkXrplEF0opVpUHvO7E4", "hash": "GKlLtUkXkXrplEF0opVpUHvO7E4",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -87.83, "x": -87.83,
"y": -0.03, "y": -0.03,
"width": 319.3, "width": 319.3,

Binary file not shown.

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "WmvGzHP0HvIvCzR8koXM95V8sGA", "hash": "WmvGzHP0HvIvCzR8koXM95V8sGA",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -87.3, "x": -87.3,
"y": -0.03, "y": -0.03,
"width": 318.76, "width": 318.76,

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
examples/mix-and-match/mix-and-match-pro.spine Executable file → Normal file

Binary file not shown.

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "+5xxYvU/cGzeUQ3j0PmfS1ije1k", "hash": "+5xxYvU/cGzeUQ3j0PmfS1ije1k",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -644, "x": -644,
"y": -274, "y": -274,
"width": 1350.84, "width": 1350.84,

Binary file not shown.

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "Quhn+SfWH75rBRTkNhwo0eKqdj4", "hash": "Quhn+SfWH75rBRTkNhwo0eKqdj4",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -207.3, "x": -207.3,
"y": 119.41, "y": 119.41,
"width": 413.19, "width": 413.19,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "OBJqovV4PU/PMuqzgJyP5fosbAs", "hash": "OBJqovV4PU/PMuqzgJyP5fosbAs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -208.76, "x": -208.76,
"y": 119.41, "y": 119.41,
"width": 414.65, "width": 414.65,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "rYEZOV6gFdeLa8p5iWLDxr3Qgfs", "hash": "rYEZOV6gFdeLa8p5iWLDxr3Qgfs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -809.16, "x": -809.16,
"y": -73.54, "y": -73.54,
"width": 1280.26, "width": 1280.26,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "gLtfCboTLKcJPKYtT0pyDxr7Uag", "hash": "gLtfCboTLKcJPKYtT0pyDxr7Uag",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -95.43, "x": -95.43,
"y": -18.79, "y": -18.79,
"width": 196.03, "width": 196.03,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "AUQx/betarHq9lEIe4JRkbTm95k", "hash": "AUQx/betarHq9lEIe4JRkbTm95k",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -221.27, "x": -221.27,
"y": -8.57, "y": -8.57,
"width": 470.72, "width": 470.72,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "0355W9T8wz4vnmE1pY7xcX6qt4Q", "hash": "0355W9T8wz4vnmE1pY7xcX6qt4Q",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -190.66, "x": -190.66,
"y": -8, "y": -8,
"width": 419.84, "width": 419.84,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "1qTCYNGncKp5Ol1mAdGTsq6OHaM", "hash": "1qTCYNGncKp5Ol1mAdGTsq6OHaM",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -840, "x": -840,
"y": -766.03, "y": -766.03,
"width": 1680, "width": 1680,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "skwWQCAt2YYqiSvlFgNvWFDycQE", "hash": "skwWQCAt2YYqiSvlFgNvWFDycQE",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -104.34, "x": -104.34,
"y": -9.21, "y": -9.21,
"width": 264.5, "width": 264.5,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "aVjYz0Nh27E88CSvnWQe0fAmCzs", "hash": "aVjYz0Nh27E88CSvnWQe0fAmCzs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -104.36, "x": -104.36,
"y": -9.22, "y": -9.22,
"width": 264.51, "width": 264.51,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "oOfMwoQhaoM02fTRvh6lCzbCkXc", "hash": "oOfMwoQhaoM02fTRvh6lCzbCkXc",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -5852.65, "x": -5852.65,
"y": -348.5, "y": -348.5,
"width": 7202.61, "width": 7202.61,

Binary file not shown.

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "a2UAVQm4FwEnGn5EwRRJYmJ8SGs", "hash": "a2UAVQm4FwEnGn5EwRRJYmJ8SGs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -87.7, "x": -87.7,
"y": -1.71, "y": -1.71,
"width": 227.65, "width": 227.65,

Binary file not shown.

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "EDDsCFWDtfzYhN5bN1U0TwIrroQ", "hash": "EDDsCFWDtfzYhN5bN1U0TwIrroQ",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -564.6, "x": -564.6,
"y": -335.4, "y": -335.4,
"width": 1124.2, "width": 1124.2,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "AUQx/betarHq9lEIe4JRkbTm95k", "hash": "AUQx/betarHq9lEIe4JRkbTm95k",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -221.27, "x": -221.27,
"y": -8.57, "y": -8.57,
"width": 470.72, "width": 470.72,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "UAXc6AgX0g45vxO38bHIVx5jbNo", "hash": "UAXc6AgX0g45vxO38bHIVx5jbNo",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -152.5, "x": -152.5,
"y": -151, "y": -151,
"width": 305, "width": 305,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs", "hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -134.12, "x": -134.12,
"y": -3.28, "y": -3.28,
"width": 266.94, "width": 266.94,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "rYEZOV6gFdeLa8p5iWLDxr3Qgfs", "hash": "rYEZOV6gFdeLa8p5iWLDxr3Qgfs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -809.16, "x": -809.16,
"y": -73.54, "y": -73.54,
"width": 1280.26, "width": 1280.26,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "AUQx/betarHq9lEIe4JRkbTm95k", "hash": "AUQx/betarHq9lEIe4JRkbTm95k",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -221.27, "x": -221.27,
"y": -8.57, "y": -8.57,
"width": 470.72, "width": 470.72,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "oOfMwoQhaoM02fTRvh6lCzbCkXc", "hash": "oOfMwoQhaoM02fTRvh6lCzbCkXc",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -5852.65, "x": -5852.65,
"y": -348.5, "y": -348.5,
"width": 7202.61, "width": 7202.61,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs", "hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -134.12, "x": -134.12,
"y": -3.28, "y": -3.28,
"width": 266.94, "width": 266.94,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "rYEZOV6gFdeLa8p5iWLDxr3Qgfs", "hash": "rYEZOV6gFdeLa8p5iWLDxr3Qgfs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -809.16, "x": -809.16,
"y": -73.54, "y": -73.54,
"width": 1280.26, "width": 1280.26,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "0355W9T8wz4vnmE1pY7xcX6qt4Q", "hash": "0355W9T8wz4vnmE1pY7xcX6qt4Q",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -190.66, "x": -190.66,
"y": -8, "y": -8,
"width": 419.84, "width": 419.84,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "UAXc6AgX0g45vxO38bHIVx5jbNo", "hash": "UAXc6AgX0g45vxO38bHIVx5jbNo",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -152.5, "x": -152.5,
"y": -151, "y": -151,
"width": 305, "width": 305,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs", "hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -134.12, "x": -134.12,
"y": -3.28, "y": -3.28,
"width": 266.94, "width": 266.94,

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "+5xxYvU/cGzeUQ3j0PmfS1ije1k", "hash": "+5xxYvU/cGzeUQ3j0PmfS1ije1k",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -644, "x": -644,
"y": -274, "y": -274,
"width": 1350.84, "width": 1350.84,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "rYEZOV6gFdeLa8p5iWLDxr3Qgfs", "hash": "rYEZOV6gFdeLa8p5iWLDxr3Qgfs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -809.16, "x": -809.16,
"y": -73.54, "y": -73.54,
"width": 1280.26, "width": 1280.26,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "0355W9T8wz4vnmE1pY7xcX6qt4Q", "hash": "0355W9T8wz4vnmE1pY7xcX6qt4Q",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -190.66, "x": -190.66,
"y": -8, "y": -8,
"width": 419.84, "width": 419.84,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "skwWQCAt2YYqiSvlFgNvWFDycQE", "hash": "skwWQCAt2YYqiSvlFgNvWFDycQE",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -104.34, "x": -104.34,
"y": -9.21, "y": -9.21,
"width": 264.5, "width": 264.5,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "aVjYz0Nh27E88CSvnWQe0fAmCzs", "hash": "aVjYz0Nh27E88CSvnWQe0fAmCzs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -104.36, "x": -104.36,
"y": -9.22, "y": -9.22,
"width": 264.51, "width": 264.51,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "oOfMwoQhaoM02fTRvh6lCzbCkXc", "hash": "oOfMwoQhaoM02fTRvh6lCzbCkXc",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -5852.65, "x": -5852.65,
"y": -348.5, "y": -348.5,
"width": 7202.61, "width": 7202.61,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "a2UAVQm4FwEnGn5EwRRJYmJ8SGs", "hash": "a2UAVQm4FwEnGn5EwRRJYmJ8SGs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -87.7, "x": -87.7,
"y": -1.71, "y": -1.71,
"width": 227.65, "width": 227.65,

View File

@ -110,7 +110,7 @@ function loadSkeleton(atlasFile, jsonFile, x, y, scale, animation, skin)
local skin = spine.Skin.new("mix-and-match") local skin = spine.Skin.new("mix-and-match")
skin:addSkin(skeletonData:findSkin("skin-base")) skin:addSkin(skeletonData:findSkin("skin-base"))
skin:addSkin(skeletonData:findSkin("nose/short")) skin:addSkin(skeletonData:findSkin("nose/short"))
skin:addSkin(skeletonData:findSkin("eyes/eyelids-girly")) skin:addSkin(skeletonData:findSkin("eyelids/girly"))
skin:addSkin(skeletonData:findSkin("eyes/violet")) skin:addSkin(skeletonData:findSkin("eyes/violet"))
skin:addSkin(skeletonData:findSkin("hair/brown")) skin:addSkin(skeletonData:findSkin("hair/brown"))
skin:addSkin(skeletonData:findSkin("clothes/hoodie-orange")) skin:addSkin(skeletonData:findSkin("clothes/hoodie-orange"))

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "UAXc6AgX0g45vxO38bHIVx5jbNo", "hash": "UAXc6AgX0g45vxO38bHIVx5jbNo",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -152.5, "x": -152.5,
"y": -151, "y": -151,
"width": 305, "width": 305,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "FH/RmN73bEwPPZfiWwT2Fju/FHk", "hash": "FH/RmN73bEwPPZfiWwT2Fju/FHk",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -92.53, "x": -92.53,
"y": -5.3, "y": -5.3,
"width": 234.03, "width": 234.03,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs", "hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -134.12, "x": -134.12,
"y": -3.28, "y": -3.28,
"width": 266.94, "width": 266.94,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "rYEZOV6gFdeLa8p5iWLDxr3Qgfs", "hash": "rYEZOV6gFdeLa8p5iWLDxr3Qgfs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -809.16, "x": -809.16,
"y": -73.54, "y": -73.54,
"width": 1280.26, "width": 1280.26,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "AUQx/betarHq9lEIe4JRkbTm95k", "hash": "AUQx/betarHq9lEIe4JRkbTm95k",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -221.27, "x": -221.27,
"y": -8.57, "y": -8.57,
"width": 470.72, "width": 470.72,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "0355W9T8wz4vnmE1pY7xcX6qt4Q", "hash": "0355W9T8wz4vnmE1pY7xcX6qt4Q",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -190.66, "x": -190.66,
"y": -8, "y": -8,
"width": 419.84, "width": 419.84,

View File

@ -49,7 +49,7 @@ public class SkinBonesMixAndMatchTest extends ApplicationAdapter {
Skin mixAndMatchSkin = new Skin("custom-girl"); Skin mixAndMatchSkin = new Skin("custom-girl");
mixAndMatchSkin.addSkin(skeletonData.findSkin("skin-base")); mixAndMatchSkin.addSkin(skeletonData.findSkin("skin-base"));
mixAndMatchSkin.addSkin(skeletonData.findSkin("nose/short")); mixAndMatchSkin.addSkin(skeletonData.findSkin("nose/short"));
mixAndMatchSkin.addSkin(skeletonData.findSkin("eyes/eyelids-girly")); mixAndMatchSkin.addSkin(skeletonData.findSkin("eyelids/girly"));
mixAndMatchSkin.addSkin(skeletonData.findSkin("eyes/violet")); mixAndMatchSkin.addSkin(skeletonData.findSkin("eyes/violet"));
mixAndMatchSkin.addSkin(skeletonData.findSkin("hair/brown")); mixAndMatchSkin.addSkin(skeletonData.findSkin("hair/brown"));
mixAndMatchSkin.addSkin(skeletonData.findSkin("clothes/hoodie-orange")); mixAndMatchSkin.addSkin(skeletonData.findSkin("clothes/hoodie-orange"));

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "UAXc6AgX0g45vxO38bHIVx5jbNo", "hash": "UAXc6AgX0g45vxO38bHIVx5jbNo",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -152.5, "x": -152.5,
"y": -151, "y": -151,
"width": 305, "width": 305,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs", "hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -134.12, "x": -134.12,
"y": -3.28, "y": -3.28,
"width": 266.94, "width": 266.94,

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "rYEZOV6gFdeLa8p5iWLDxr3Qgfs", "hash": "rYEZOV6gFdeLa8p5iWLDxr3Qgfs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -809.16, "x": -809.16,
"y": -73.54, "y": -73.54,
"width": 1280.26, "width": 1280.26,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "0355W9T8wz4vnmE1pY7xcX6qt4Q", "hash": "0355W9T8wz4vnmE1pY7xcX6qt4Q",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -190.66, "x": -190.66,
"y": -8, "y": -8,
"width": 419.84, "width": 419.84,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "skwWQCAt2YYqiSvlFgNvWFDycQE", "hash": "skwWQCAt2YYqiSvlFgNvWFDycQE",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -104.34, "x": -104.34,
"y": -9.21, "y": -9.21,
"width": 264.5, "width": 264.5,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "aVjYz0Nh27E88CSvnWQe0fAmCzs", "hash": "aVjYz0Nh27E88CSvnWQe0fAmCzs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -104.36, "x": -104.36,
"y": -9.22, "y": -9.22,
"width": 264.51, "width": 264.51,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "oOfMwoQhaoM02fTRvh6lCzbCkXc", "hash": "oOfMwoQhaoM02fTRvh6lCzbCkXc",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -5852.65, "x": -5852.65,
"y": -348.5, "y": -348.5,
"width": 7202.61, "width": 7202.61,

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "a2UAVQm4FwEnGn5EwRRJYmJ8SGs", "hash": "a2UAVQm4FwEnGn5EwRRJYmJ8SGs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -87.7, "x": -87.7,
"y": -1.71, "y": -1.71,
"width": 227.65, "width": 227.65,

View File

@ -74,7 +74,7 @@ function loadSkeleton (jsonFile, atlasFile, animation, skin, scale, x, y)
local skin = spine.Skin.new("mix-and-match") local skin = spine.Skin.new("mix-and-match")
skin:addSkin(skeletonData:findSkin("skin-base")) skin:addSkin(skeletonData:findSkin("skin-base"))
skin:addSkin(skeletonData:findSkin("nose/short")) skin:addSkin(skeletonData:findSkin("nose/short"))
skin:addSkin(skeletonData:findSkin("eyes/eyelids-girly")) skin:addSkin(skeletonData:findSkin("eyelids/girly"))
skin:addSkin(skeletonData:findSkin("eyes/violet")) skin:addSkin(skeletonData:findSkin("eyes/violet"))
skin:addSkin(skeletonData:findSkin("hair/brown")) skin:addSkin(skeletonData:findSkin("hair/brown"))
skin:addSkin(skeletonData:findSkin("clothes/hoodie-orange")) skin:addSkin(skeletonData:findSkin("clothes/hoodie-orange"))

View File

@ -43,7 +43,7 @@ namespace Spine {
public Screen(Example game) { public Screen(Example game) {
this.game = game; this.game = game;
skeletonRenderer = new SkeletonRenderer(game.GraphicsDevice); skeletonRenderer = new SkeletonRenderer(game.GraphicsDevice);
skeletonRenderer.PremultipliedAlpha = false; skeletonRenderer.PremultipliedAlpha = false;
} }
public void UpdateInput() { public void UpdateInput() {
@ -63,7 +63,7 @@ namespace Spine {
Skeleton skeleton; Skeleton skeleton;
AnimationState state; AnimationState state;
public RaptorScreen(Example game) : base (game) { public RaptorScreen(Example game) : base (game) {
// Load the texture atlas // Load the texture atlas
atlas = new Atlas("data/raptor.atlas", new XnaTextureLoader(game.GraphicsDevice)); atlas = new Atlas("data/raptor.atlas", new XnaTextureLoader(game.GraphicsDevice));
@ -82,7 +82,7 @@ namespace Spine {
skeleton.Y = game.GraphicsDevice.Viewport.Height; skeleton.Y = game.GraphicsDevice.Viewport.Height;
// Set the "walk" animation on track one and let it loop forever // Set the "walk" animation on track one and let it loop forever
state.SetAnimation(0, "walk", true); state.SetAnimation(0, "walk", true);
} }
public override void Render(float deltaTime) { public override void Render(float deltaTime) {
@ -97,7 +97,7 @@ namespace Spine {
// Clear the screen and setup the projection matrix of the skeleton renderer // Clear the screen and setup the projection matrix of the skeleton renderer
game.GraphicsDevice.Clear(Color.Black); game.GraphicsDevice.Clear(Color.Black);
((BasicEffect)skeletonRenderer.Effect).Projection = Matrix.CreateOrthographicOffCenter(0, game.GraphicsDevice.Viewport.Width, game.GraphicsDevice.Viewport.Height, 0, 1, 0); ((BasicEffect)skeletonRenderer.Effect).Projection = Matrix.CreateOrthographicOffCenter(0, game.GraphicsDevice.Viewport.Width, game.GraphicsDevice.Viewport.Height, 0, 1, 0);
// Draw the skeletons // Draw the skeletons
skeletonRenderer.Begin(); skeletonRenderer.Begin();
skeletonRenderer.Draw(skeleton); skeletonRenderer.Draw(skeleton);
@ -125,7 +125,7 @@ namespace Spine {
skeletonRenderer.Effect = twoColorTintEffect; skeletonRenderer.Effect = twoColorTintEffect;
// The remaining code loads the atlas and skeleton data as in the raptor screen // The remaining code loads the atlas and skeleton data as in the raptor screen
atlas = new Atlas("data/tank.atlas", new XnaTextureLoader(game.GraphicsDevice)); atlas = new Atlas("data/tank.atlas", new XnaTextureLoader(game.GraphicsDevice));
SkeletonJson json = new SkeletonJson(atlas); SkeletonJson json = new SkeletonJson(atlas);
json.Scale = 0.25f; json.Scale = 0.25f;
SkeletonData skeletonData = json.ReadSkeletonData("data/tank-pro.json"); SkeletonData skeletonData = json.ReadSkeletonData("data/tank-pro.json");
@ -154,14 +154,14 @@ namespace Spine {
skeletonRenderer.Begin(); skeletonRenderer.Begin();
skeletonRenderer.Draw(skeleton); skeletonRenderer.Draw(skeleton);
skeletonRenderer.End(); skeletonRenderer.End();
if (mouseClicked) game.currentScreen = new SpineboyScreen(game); if (mouseClicked) game.currentScreen = new SpineboyScreen(game);
} }
} }
/// <summary> /// <summary>
/// The Spineboy screen shows how to queue up multiple animations via animation state, /// The Spineboy screen shows how to queue up multiple animations via animation state,
/// set the default mix time to smoothly transition between animations, and load a /// set the default mix time to smoothly transition between animations, and load a
/// skeleton from a binary .skel file. /// skeleton from a binary .skel file.
/// </summary> /// </summary>
internal class SpineboyScreen : Screen { internal class SpineboyScreen : Screen {
@ -169,7 +169,7 @@ namespace Spine {
Skeleton skeleton; Skeleton skeleton;
AnimationState state; AnimationState state;
public SpineboyScreen(Example game) : base(game) { public SpineboyScreen(Example game) : base(game) {
atlas = new Atlas("data/spineboy.atlas", new XnaTextureLoader(game.GraphicsDevice)); atlas = new Atlas("data/spineboy.atlas", new XnaTextureLoader(game.GraphicsDevice));
SkeletonBinary binary = new SkeletonBinary(atlas); SkeletonBinary binary = new SkeletonBinary(atlas);
@ -177,7 +177,7 @@ namespace Spine {
SkeletonData skeletonData = binary.ReadSkeletonData("data/spineboy-pro.skel"); SkeletonData skeletonData = binary.ReadSkeletonData("data/spineboy-pro.skel");
skeleton = new Skeleton(skeletonData); skeleton = new Skeleton(skeletonData);
AnimationStateData stateData = new AnimationStateData(skeleton.Data); AnimationStateData stateData = new AnimationStateData(skeleton.Data);
state = new AnimationState(stateData); state = new AnimationState(stateData);
skeleton.X = game.GraphicsDevice.Viewport.Width / 2; skeleton.X = game.GraphicsDevice.Viewport.Width / 2;
@ -201,14 +201,14 @@ namespace Spine {
state.Update(deltaTime); state.Update(deltaTime);
state.Apply(skeleton); state.Apply(skeleton);
skeleton.UpdateWorldTransform(); skeleton.UpdateWorldTransform();
game.GraphicsDevice.Clear(Color.Black); game.GraphicsDevice.Clear(Color.Black);
((BasicEffect)skeletonRenderer.Effect).Projection = Matrix.CreateOrthographicOffCenter(0, game.GraphicsDevice.Viewport.Width, game.GraphicsDevice.Viewport.Height, 0, 1, 0); ((BasicEffect)skeletonRenderer.Effect).Projection = Matrix.CreateOrthographicOffCenter(0, game.GraphicsDevice.Viewport.Width, game.GraphicsDevice.Viewport.Height, 0, 1, 0);
skeletonRenderer.Begin(); skeletonRenderer.Begin();
skeletonRenderer.Draw(skeleton); skeletonRenderer.Draw(skeleton);
skeletonRenderer.End(); skeletonRenderer.End();
if (mouseClicked) game.currentScreen = new MixAndMatchScreen(game); if (mouseClicked) game.currentScreen = new MixAndMatchScreen(game);
} }
} }
@ -236,7 +236,7 @@ namespace Spine {
skeleton.X = game.GraphicsDevice.Viewport.Width / 2; skeleton.X = game.GraphicsDevice.Viewport.Width / 2;
skeleton.Y = game.GraphicsDevice.Viewport.Height; skeleton.Y = game.GraphicsDevice.Viewport.Height;
state.SetAnimation(0, "dance", true); state.SetAnimation(0, "dance", true);
// Create a new skin, by mixing and matching other skins // Create a new skin, by mixing and matching other skins
@ -246,7 +246,7 @@ namespace Spine {
var mixAndMatchSkin = new Spine.Skin("custom-girl"); var mixAndMatchSkin = new Spine.Skin("custom-girl");
mixAndMatchSkin.AddSkin(skeletonData.FindSkin("skin-base")); mixAndMatchSkin.AddSkin(skeletonData.FindSkin("skin-base"));
mixAndMatchSkin.AddSkin(skeletonData.FindSkin("nose/short")); mixAndMatchSkin.AddSkin(skeletonData.FindSkin("nose/short"));
mixAndMatchSkin.AddSkin(skeletonData.FindSkin("eyes/eyelids-girly")); mixAndMatchSkin.AddSkin(skeletonData.FindSkin("eyelids/girly"));
mixAndMatchSkin.AddSkin(skeletonData.FindSkin("eyes/violet")); mixAndMatchSkin.AddSkin(skeletonData.FindSkin("eyes/violet"));
mixAndMatchSkin.AddSkin(skeletonData.FindSkin("hair/brown")); mixAndMatchSkin.AddSkin(skeletonData.FindSkin("hair/brown"));
mixAndMatchSkin.AddSkin(skeletonData.FindSkin("clothes/hoodie-orange")); mixAndMatchSkin.AddSkin(skeletonData.FindSkin("clothes/hoodie-orange"));
@ -295,6 +295,6 @@ namespace Spine {
protected override void Draw(GameTime gameTime) { protected override void Draw(GameTime gameTime) {
currentScreen.Render(gameTime.ElapsedGameTime.Milliseconds / 1000.0f); currentScreen.Render(gameTime.ElapsedGameTime.Milliseconds / 1000.0f);
} }
} }
} }

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "UAXc6AgX0g45vxO38bHIVx5jbNo", "hash": "UAXc6AgX0g45vxO38bHIVx5jbNo",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -152.5, "x": -152.5,
"y": -151, "y": -151,
"width": 305, "width": 305,

Binary file not shown.

View File

@ -1,7 +1,7 @@
{ {
"skeleton": { "skeleton": {
"hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs", "hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs",
"spine": "3.8.26-beta", "spine": "3.8.33-beta",
"x": -134.12, "x": -134.12,
"y": -3.28, "y": -3.28,
"width": 266.94, "width": 266.94,

Binary file not shown.

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More