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": {
"hash": "Q8KgLY4VbdBYvPyGuiNq2Y2RInk",
"spine": "3.8.26-beta",
"spine": "3.8.33-beta",
"x": -191.3,
"y": -4.51,
"width": 365.79,

Binary file not shown.

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

View File

@ -1,7 +1,7 @@
{
"skeleton": {
"hash": "WmvGzHP0HvIvCzR8koXM95V8sGA",
"spine": "3.8.26-beta",
"spine": "3.8.33-beta",
"x": -87.3,
"y": -0.03,
"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": {
"hash": "+5xxYvU/cGzeUQ3j0PmfS1ije1k",
"spine": "3.8.26-beta",
"spine": "3.8.33-beta",
"x": -644,
"y": -274,
"width": 1350.84,

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
{
"skeleton": {
"hash": "a2UAVQm4FwEnGn5EwRRJYmJ8SGs",
"spine": "3.8.26-beta",
"spine": "3.8.33-beta",
"x": -87.7,
"y": -1.71,
"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")
skin:addSkin(skeletonData:findSkin("skin-base"))
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("hair/brown"))
skin:addSkin(skeletonData:findSkin("clothes/hoodie-orange"))

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -49,7 +49,7 @@ public class SkinBonesMixAndMatchTest extends ApplicationAdapter {
Skin mixAndMatchSkin = new Skin("custom-girl");
mixAndMatchSkin.addSkin(skeletonData.findSkin("skin-base"));
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("hair/brown"));
mixAndMatchSkin.addSkin(skeletonData.findSkin("clothes/hoodie-orange"));

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
{
"skeleton": {
"hash": "a2UAVQm4FwEnGn5EwRRJYmJ8SGs",
"spine": "3.8.26-beta",
"spine": "3.8.33-beta",
"x": -87.7,
"y": -1.71,
"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")
skin:addSkin(skeletonData:findSkin("skin-base"))
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("hair/brown"))
skin:addSkin(skeletonData:findSkin("clothes/hoodie-orange"))

View File

@ -43,7 +43,7 @@ namespace Spine {
public Screen(Example game) {
this.game = game;
skeletonRenderer = new SkeletonRenderer(game.GraphicsDevice);
skeletonRenderer.PremultipliedAlpha = false;
skeletonRenderer.PremultipliedAlpha = false;
}
public void UpdateInput() {
@ -63,7 +63,7 @@ namespace Spine {
Skeleton skeleton;
AnimationState state;
public RaptorScreen(Example game) : base (game) {
public RaptorScreen(Example game) : base (game) {
// Load the texture atlas
atlas = new Atlas("data/raptor.atlas", new XnaTextureLoader(game.GraphicsDevice));
@ -82,7 +82,7 @@ namespace Spine {
skeleton.Y = game.GraphicsDevice.Viewport.Height;
// 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) {
@ -97,7 +97,7 @@ namespace Spine {
// Clear the screen and setup the projection matrix of the skeleton renderer
game.GraphicsDevice.Clear(Color.Black);
((BasicEffect)skeletonRenderer.Effect).Projection = Matrix.CreateOrthographicOffCenter(0, game.GraphicsDevice.Viewport.Width, game.GraphicsDevice.Viewport.Height, 0, 1, 0);
// Draw the skeletons
skeletonRenderer.Begin();
skeletonRenderer.Draw(skeleton);
@ -125,7 +125,7 @@ namespace Spine {
skeletonRenderer.Effect = twoColorTintEffect;
// 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);
json.Scale = 0.25f;
SkeletonData skeletonData = json.ReadSkeletonData("data/tank-pro.json");
@ -154,14 +154,14 @@ namespace Spine {
skeletonRenderer.Begin();
skeletonRenderer.Draw(skeleton);
skeletonRenderer.End();
if (mouseClicked) game.currentScreen = new SpineboyScreen(game);
}
}
/// <summary>
/// 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.
/// </summary>
internal class SpineboyScreen : Screen {
@ -169,7 +169,7 @@ namespace Spine {
Skeleton skeleton;
AnimationState state;
public SpineboyScreen(Example game) : base(game) {
public SpineboyScreen(Example game) : base(game) {
atlas = new Atlas("data/spineboy.atlas", new XnaTextureLoader(game.GraphicsDevice));
SkeletonBinary binary = new SkeletonBinary(atlas);
@ -177,7 +177,7 @@ namespace Spine {
SkeletonData skeletonData = binary.ReadSkeletonData("data/spineboy-pro.skel");
skeleton = new Skeleton(skeletonData);
AnimationStateData stateData = new AnimationStateData(skeleton.Data);
AnimationStateData stateData = new AnimationStateData(skeleton.Data);
state = new AnimationState(stateData);
skeleton.X = game.GraphicsDevice.Viewport.Width / 2;
@ -201,14 +201,14 @@ namespace Spine {
state.Update(deltaTime);
state.Apply(skeleton);
skeleton.UpdateWorldTransform();
game.GraphicsDevice.Clear(Color.Black);
((BasicEffect)skeletonRenderer.Effect).Projection = Matrix.CreateOrthographicOffCenter(0, game.GraphicsDevice.Viewport.Width, game.GraphicsDevice.Viewport.Height, 0, 1, 0);
skeletonRenderer.Begin();
skeletonRenderer.Draw(skeleton);
skeletonRenderer.End();
if (mouseClicked) game.currentScreen = new MixAndMatchScreen(game);
}
}
@ -236,7 +236,7 @@ namespace Spine {
skeleton.X = game.GraphicsDevice.Viewport.Width / 2;
skeleton.Y = game.GraphicsDevice.Viewport.Height;
state.SetAnimation(0, "dance", true);
// Create a new skin, by mixing and matching other skins
@ -246,7 +246,7 @@ namespace Spine {
var mixAndMatchSkin = new Spine.Skin("custom-girl");
mixAndMatchSkin.AddSkin(skeletonData.FindSkin("skin-base"));
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("hair/brown"));
mixAndMatchSkin.AddSkin(skeletonData.FindSkin("clothes/hoodie-orange"));
@ -295,6 +295,6 @@ namespace Spine {
protected override void Draw(GameTime gameTime) {
currentScreen.Render(gameTime.ElapsedGameTime.Milliseconds / 1000.0f);
}
}
}
}

View File

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

Binary file not shown.

View File

@ -1,7 +1,7 @@
{
"skeleton": {
"hash": "RUppHNl8+HjH0JGhZt+lyKfNXxs",
"spine": "3.8.26-beta",
"spine": "3.8.33-beta",
"x": -134.12,
"y": -3.28,
"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