我试图制作精灵当相机/屏幕移动时,保持静态身体(实际上是它的固定装置)的顶部。我需要做些什么来实现这个目标?
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();
感谢您的帮助
答案 0 :(得分:1)
SpriteBatch
使用Matrix4
进行渲染
此Matrix4
应设置为camera
s combined
矩阵
随着camera.combined
的更改,当camera
移动时,您还应该通过调用SpriteBatch
内的projectionMatrix
来更新SpriteBatch#setProjectionMatrix(camera.combined)
s render(delta)
。