Camera LibGdx-tileMap-世界到屏幕坐标(移动摄影机)

Camera LibGdx-tileMap-世界到屏幕坐标(移动摄影机),camera,libgdx,coordinates,Camera,Libgdx,Coordinates,摄像机的初始化: camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); camera.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); camera.update(); 我想将相机移动到世界坐标(位置): 但似乎 camera.project(Vector3); 始终返回随机坐标(如果我多次

摄像机的初始化:

camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
camera.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
camera.update();
我想将相机移动到世界坐标(位置):

但似乎

camera.project(Vector3);
始终返回随机坐标(如果我多次调用该方法,相机将从点A移动到点B,从点B移动到点A)

例如,使用世界坐标:(x:648.0,y:877.333)

第一次呼叫:(x:600,y:360)


第二次调用:(x:648,y:877.3)这是因为project方法修改了传入的向量对象。是的,但是:newPosition==position在调用camera.project(position)之后,我使用了一个变量来让它更清晰。我解释了为什么多次调用它会得到不同的结果。但是,如果要将相机移动到新的世界位置,只需将其
位置
更改为新的世界位置即可。投影用于将世界坐标转换为屏幕坐标,对您正在做的事情毫无意义。好的,它工作正常。出于某种原因,我认为我必须使用屏幕坐标来移动相机..谢谢!(我是否应该发布答案以将其标记为已解决?我不能使用您的评论)
camera.project(Vector3);
camera.project(pos);
spriteBatch.draw(texture, pos.x, pos.y);
spriteBatch.setProjectionMatrix(camera.combined);
spriteBatch.draw(texture, pos.x, pos.y);
camera.unproject(Vector3);