精灵不跟随身体/夹具

时间:2014-12-02 01:46:03

标签: libgdx box2d

我试图制作精灵当相机/屏幕移动时,保持静态身体(实际上是它的固定装置)的顶部。我需要做些什么来实现这个目标?

Background: 我有一个播放器(动态,多边形,设置为一个盒子),当玩家在屏幕上向上移动时,相机会跟随它。

每X量的米我在玩家面前几米产生一个(静态)矩形。这个矩形是试图在上面绘制精灵的身体,问题是当我绘制它时,精灵在屏幕上保持静止并且不会留在身体/固定装置的顶部。

我的游戏屏幕跟随我的播放器如下:

box2dCamera.position.y = player.getPosition().y + box2dCamera.viewportHeight / 2 - (player.bodyHeight);
box2dCamera.update();

我正在使用libgdx-utils lib在矩形的顶部绘制精灵,如下所示:

Box2DSprite box2DSprite = new Box2DSprite(KidsGame.res.getTexture("badlogic"));
fixture.setUserData(box2DSprite);

sb.begin();
Box2DSprite.draw(sb, world);
sb.end();

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

SpriteBatch使用Matrix4进行渲染 此Matrix4应设置为camera s combined矩阵 随着camera.combined的更改,当camera移动时,您还应该通过调用SpriteBatch内的projectionMatrix来更新SpriteBatch#setProjectionMatrix(camera.combined) s render(delta)