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并将其绘制在原始屏幕上,但它不会跟随我移动相机的位置。我该如何做到这一点?
答案 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);
}