diff --git a/spine-monogame/spine-monogame-example/ExampleGame.cs b/spine-monogame/spine-monogame-example/ExampleGame.cs index 8a48428f5..6ad2dae76 100644 --- a/spine-monogame/spine-monogame-example/ExampleGame.cs +++ b/spine-monogame/spine-monogame-example/ExampleGame.cs @@ -90,9 +90,10 @@ namespace Spine { // to the skeleton state.Update(deltaTime); state.Apply(skeleton); + skeleton.Update(deltaTime); // Update the transformations of bones and other parts of the skeleton - skeleton.UpdateWorldTransform(); + skeleton.UpdateWorldTransform(Skeleton.Physics.Update); // Clear the screen and setup the projection matrix of the skeleton renderer game.GraphicsDevice.Clear(Color.Black); @@ -143,8 +144,9 @@ namespace Spine { public override void Render (float deltaTime) { state.Update(deltaTime); state.Apply(skeleton); + skeleton.Update(deltaTime); - skeleton.UpdateWorldTransform(); + skeleton.UpdateWorldTransform(Skeleton.Physics.Update); // Clear the screen and setup the projection matrix of the custom effect through the // "Projection" parameter. @@ -200,7 +202,9 @@ namespace Spine { public override void Render (float deltaTime) { state.Update(deltaTime); state.Apply(skeleton); - skeleton.UpdateWorldTransform(); + skeleton.Update(deltaTime); + + skeleton.UpdateWorldTransform(Skeleton.Physics.Update); game.GraphicsDevice.Clear(Color.Black); ((BasicEffect)skeletonRenderer.Effect).Projection = Matrix.CreateOrthographicOffCenter(0, game.GraphicsDevice.Viewport.Width, game.GraphicsDevice.Viewport.Height, 0, 1, 0); @@ -229,7 +233,7 @@ namespace Spine { SkeletonJson json = new SkeletonJson(atlas); json.Scale = 0.5f; SkeletonData skeletonData = json.ReadSkeletonData("data/mix-and-match-pro.json"); - + skeleton = new Skeleton(skeletonData); AnimationStateData stateData = new AnimationStateData(skeleton.Data); state = new AnimationState(stateData); @@ -259,7 +263,9 @@ namespace Spine { public override void Render (float deltaTime) { state.Update(deltaTime); state.Apply(skeleton); - skeleton.UpdateWorldTransform(); + skeleton.Update(deltaTime); + + skeleton.UpdateWorldTransform(Skeleton.Physics.Pose); game.GraphicsDevice.Clear(Color.Black); ((BasicEffect)skeletonRenderer.Effect).Projection = Matrix.CreateOrthographicOffCenter(0, game.GraphicsDevice.Viewport.Width, game.GraphicsDevice.Viewport.Height, 0, 1, 0); diff --git a/spine-monogame/spine-monogame/spine-monogame.csproj b/spine-monogame/spine-monogame/spine-monogame.csproj index 6bab1904a..19e940491 100644 --- a/spine-monogame/spine-monogame/spine-monogame.csproj +++ b/spine-monogame/spine-monogame/spine-monogame.csproj @@ -57,6 +57,12 @@ spine-csharp\IkConstraintData.cs + + spine-csharp\PhysicsConstraint.cs + + + spine-csharp\PhysicsConstraintData.cs + spine-csharp\IUpdatable.cs