libGDX当您使用视口并移动相机时,如何在屏幕的左上角绘制

时间:2015-04-01 05:31:47

标签: java libgdx

public OrthographicCamera camera;
Viewport viewport;

    camera = new OrthographicCamera();
    viewport = new ScalingViewport(Scaling.stretch, 1920, 1080, camera);
    viewport.apply();
    camera.position.set(camera.viewportWidth / 2, camera.viewportHeight / 2, 0);
    camera.update();

然后用我的鼠标用这段代码移动相机

Vector3 v = new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0);
    camera.unproject(v);
        camera.position.set(v);
        camera.update();

除了我想要在屏幕的左上角绘制一些文字外,一切正常。我使用camera.combined并将其绘制在原始屏幕上,但它不会跟随我移动相机的位置。我该如何做到这一点?

1 个答案:

答案 0 :(得分:4)

很好的问题,我创建了一个方法来返回一个相对于屏幕位置的Vector3。我不确定是否有内置的方法来执行此操作或更简单的方法,但这里是我的代码。祝你的节目好运。

public Vector3 relativeVector(float x, float y,OrthographicCamera c){
    return new Vector3(x+c.position.x-c.viewportWidth/2,y+c.position.y-c.viewportHeight/2,0);
}