我想让我离开它的精灵在屏幕上,并在世界上拖动相机。但是精灵粘在相机上,当我拖动相机时,它仍然在屏幕底部。
tilemap(.tmx 文件)和渲染器不会发生这种情况:相机可以在 tilemap 上拖动,并且 tilemap 不会粘在相机上。使用 spriteBatch 强硬时,精灵会停留在屏幕底部。
这是我的代码:
map = MyLoader.manager.get("data/mMap.tmx");
float unitScale = 1 / 64f;
renderer = new OrthogonalTiledMapRenderer(map, unitScale);
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
camera.update();
renderer.setView(camera);
renderer.render();//tilemap works fine
//sprite
//batchMap.setProjectionMatrix(camera.combined);//wrong
batchMap.begin();
if ( scrFactoryMap.maps.size() > 0 ) {
scrFactoryMap.getMap(0).draw(batchMap);//sprite sticks to the camera
}
str = "string";
font.draw(batchMap, str, 50,50);//font sticks to the camera
batchMap.end();
}
private void slerpCamera(){
//...
camera.position.add( camX, camY, 0 );
camera.update();
}