how do I drag an object in libgdx using box2d?

2019-05-28 18:01发布

I have added objects to a box2d world in libgdx.
I am wondering if it was possible to drag objects with the mouse? If so, how?

thanks!

1条回答
狗以群分
2楼-- · 2019-05-28 18:35

There are a couple of options here. You can use a mouse joint or you can use a kinematic body and set it's position manually. A good example of how to use a mouse joint check this out:

http://code.google.com/p/libgdx-backend-android-livewallpaper/source/browse/gdx-backend-android-livewallpaper-example/src/com/badlogic/gdx/tests/box2d/Box2DTest.java?r=ba02aaf34a8ca07daa0c30493bab993067c652f9

If you want to use a kinematic body you would do this:

in render():

body.setTransform(Gdx.input.getX(), Gdx.input.getY(), angle);

And then you would say body.getPosition() for the rendering of your sprites. Or if you are using the debug renderer that will draw your bodies, but just as shapes.

查看更多
登录 后发表回答