Java 停止摄像机移动
我一直试图停止移动我地图末端的相机,但它仍在继续移动 这是我的密码:Java 停止摄像机移动,java,android,libgdx,android-camera,android-maps,Java,Android,Libgdx,Android Camera,Android Maps,我一直试图停止移动我地图末端的相机,但它仍在继续移动 这是我的密码: @Override public void render(float delta) { //moving tiled map camera.position.x=camera.position.x+Gdx.graphics.getDeltaTime()*200; camera.update(); //........................................... Gdx.gl.glCl
@Override
public void render(float delta) {
//moving tiled map
camera.position.x=camera.position.x+Gdx.graphics.getDeltaTime()*200;
camera.update();
//...........................................
Gdx.gl.glClearColor(1, 0, 0, 0);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
// renderer camera and map
renderer.setView(camera);
renderer.render();
//...................................................
}
@Override
public void show() {
batch = new SpriteBatch();
map = new TmxMapLoader().load("maps/map1.tmx");
renderer = new OrthogonalTiledMapRenderer(map);
camera = new OrthographicCamera();
}
@Override
public void hide() {
}
@Override
public void create() {
}
@Override
public void resize(int width, int height) {
camera.viewportWidth = width;
camera.viewportHeight = height;
camera.position.set(width/2f, height/3f, 0); //by default camera position on (0,0,0)
camera.update();
}
@Override
public void render() {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void dispose() {
map.dispose();
renderer.dispose();
}
}
我在代码中找不到任何错误
因此,我这里的问题是,如何阻止摄影机在贴图末尾移动?平铺贴图中至少有一层,因此:
TiledMap map = ......//whatever method that you are using to load a map
//skip to the part that the map is loaded
TiledMapLayer layer = (TiledMapLayer)map.getLayers().get(0);
int layerWidth = layer.getWidth()*layer.getTileWidth();
现在,您知道了层的宽度(以像素为单位),您可以确保camera.position.x+Gdx.graphics.getDeltaTime()*200代码>从不超过此长度