[monogame] Adjusted existing monogame code and examples to 4.2 physics.

This commit is contained in:
Harald Csaszar 2024-03-28 12:55:21 +01:00
parent 5631eb9750
commit 37014e958c
2 changed files with 17 additions and 5 deletions

View File

@ -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);

View File

@ -57,6 +57,12 @@
<Compile Include="..\..\spine-csharp\src\IkConstraintData.cs">
<Link>spine-csharp\IkConstraintData.cs</Link>
</Compile>
<Compile Include="..\..\spine-csharp\src\PhysicsConstraint.cs">
<Link>spine-csharp\PhysicsConstraint.cs</Link>
</Compile>
<Compile Include="..\..\spine-csharp\src\PhysicsConstraintData.cs">
<Link>spine-csharp\PhysicsConstraintData.cs</Link>
</Compile>
<Compile Include="..\..\spine-csharp\src\IUpdatable.cs">
<Link>spine-csharp\IUpdatable.cs</Link>
</Compile>