在box2d正文上绘制字体

时间:2014-12-02 20:35:16

标签: libgdx box2d

如何在静态box2d正文上绘制文字(字体)?

背景:我能够正确地在身体上绘制精灵。 我这样做的方法是将box2dSpriteBatch投射到box2dCamera上,如box2dSpriteBatch.setProjectionMatrix(box2dCamera.combined);,然后使用身体的getPosition将精灵渲染到正确的位置。

但是,如果我对字体尝试相同的方式,不幸的是它会缩小到非常大,如果我尝试缩小字体,它就不会出现。所以我假设我需要在窗口坐标而不是box2d中绘制文本。

我的尝试:

    show()中的
  • windowCamera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

  • 在我调用的Render方法中 windowSpriteBatch.setProjectionMatrix(windowCamera.combined);

  • 也在渲染中渲染字体

    whiteFont.setScale(0.7f, 0.7f); sb.begin(); whiteFont.draw(sb, "2", body.getPosition().x, (questionLineBody.getPosition().y)*PPM); sb.end();

1 个答案:

答案 0 :(得分:0)

解决方案是PPM基本上*我的x位置。

将这些行添加到Render方法:

windowCamera.position.y = box2dCamera.position.y * PPM;
windowCamera.update();
windowSpriteBatch.setProjectionMatrix(windowCamera.combined);

并渲染字体:

whiteFont.draw (sb,"2", body.getPosition().x * PPM, body.getPosition().y * PPM);