1
我正在使用libgdx,如果我不嘗試設置相機的位置,我的遊戲渲染效果會非常好。但是,如果我只是添加這一行代碼:camera.position.set(0f,0f,0f),它會導致白線顯示在我所有的精靈上。libgdx camera.position.set導致撕裂
之前:
添加一個代碼行後:camera.postion.set(0F,0F,0F)
這些圖像是隨機地圖所以佈局是不同的。唯一改變的是白線。相機確實去了位置(0,0,0)。 這可能是什麼原因造成的?它基本上是將1個白色像素添加到我的精靈頂部。我有一個512x512的瓷磚板,其中有64x64瓷磚。下面是相關代碼
內置的屏幕類:
@Override
public void show()
{
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
this.camera = new OrthographicCamera(w, h);
this.camera.setToOrtho(true, w, h);
this.stage.setCamera(this.camera);
camera.update();
this.input = new InputHandler(this.camera);
Gdx.input.setInputProcessor(this.input);
dungeon = new Dungeon(DungeonGenerator.generateDungeonMap());
renderer = new OrthogonalTiledMapRenderer(dungeon);
this.player = new Player(dungeon);
this.stage.addActor(this.player);
camera.position.set(0f, 0f, 0f);
}
@Override
public void render(float delta)
{
Gdx.gl.glClearColor(0f, 0f, 0f, 1f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
renderer.setView(camera);
renderer.render();
batch.begin();
font.draw(batch, "FPS: " + Gdx.graphics.getFramesPerSecond(), 10, 20);
font.draw(batch, "camera: " + camera.position, 10, 50);
font.draw(batch, "Stage:" + this.stage.getCamera().position, 10, 80);
batch.end();
//update and render stage actors
stage.act(delta);
stage.draw();
}
這可能適用http://stackoverflow.com/questions/15883120/orthogonaltiledmaprenderer-and-normal-spritebatch-renders-a-white-box – arynaq
謝謝。我剛讀過它。我正在嘗試解決方案,但我不認爲這是同一問題 – theDazzler
我嘗試了不同的事情,使用batch.begin()和batch.end()就像鏈接中的解決方案,但它沒有工作 – theDazzler