UnderwaterApps / overlap2d-runtime-libgdx

Overlap2D - UI and Level Editor libgdx runtime
http://overlap2d.com
Other
170 stars 96 forks source link

[Bug] Physics bodies inside Composite Items are not positioned relative to the composite item #81

Open kschoos opened 8 years ago

kschoos commented 8 years ago

Reproduction: Drag an image into the scene Make it a composite item Enter the composite item Give the image a polygon component and physics component Move the object to 10, 10 inside the composite Step out of the composite Move the composite to 5, 5

Load the Scene in LibGdx with a Box2D debugRenderer See that the physicsObject is at 10, 10 World coordinates although it should be at 15, 15 See that the textureComponent is at 15, 15 World coordinates where it belongs.

Changing processBody so that the physicsBody's Transform is set to the right place ( parentTransformPosition + transformPosition ) moves the body to the right place (15, 15) but moves the textureComponent to the wrong place (20, 20).

leruaa commented 8 years ago

I saw that bug too.

A solution would be to move the transforms offset computing from Overlap2dRenderer to a TransformSystem system that will be processed before the PhysicsSystem and Overlap2dRenderer.

@azakhary I'm ready to implement this solution if it works for you.

azakhary commented 8 years ago

@gevorg-kopalyan what do you think?

leruaa commented 8 years ago

Any news on this ?