我試圖做一個像Jetpack Joyride這樣的遊戲,角色一直移動直到你死亡。我如何解決高x位置的libgdx相機錯誤?
相機符合角色,一切都很好,直到相機的x位置(和字符)達到約5000
我測試,以讓在5.000一個x位置在世界上的一切開始.000。
一切開始看起來很奇怪,精靈改變了他們的大小和位置o.O.
然後我創建了一個簡單的屏幕,只呈現2個矩形,當我使用「低」x位置時,一切看起來都很好,但是當我開始使用相機的「高」x位置時,矩形會改變它們的形式。
請試試看,並告訴我如何解決這個問題。
public ArsenalScreen(AwesomeRun game)
{
this.game = game;
renderer = new ShapeRenderer();
batch = new SpriteBatch();
camera = new OrthographicCamera();
camera.setToOrtho(false, 20, 20);
camera.viewportWidth = 30;
camera.viewportHeight = 20;
camera.position.x = 3;
// camera.position.x = 300000000;
camera.update(true);
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0.5f,0.5f,0.5f,1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
renderer.setProjectionMatrix(camera.combined);
renderer.begin(ShapeType.Rectangle);
renderer.identity();
renderer.rect(camera.position.x, camera.position.y, camera.viewportWidth/4, camera.viewportHeight/4);
renderer.rect(camera.position.x-camera.viewportWidth/2+0.5f, camera.position.y-camera.viewportHeight/2, camera.viewportWidth, camera.viewportHeight);
renderer.end();
}
謝謝你的確切答案。在我的角色達到1000或更高的x位置後,我已經通過「重置」世界中的每個對象來解決問題。我只是將每個對象的x座標減去1000,並且看不到任何口吃。 我希望這是你提到它的原因,因爲英語不是我的母語,所以我沒有什麼困難。 – CurZ