我试着做一个像 Jetpack Joyride 这样的游戏,角色会一直移动直到你死去。
相机跟随角色,一切都很好,直到相机(和角色)的 x 位置达到大约 5000。
我测试让世界上的一切都从 5.000.000 的 x 位置开始。
一切开始看起来很奇怪,精灵改变了它们的大小和位置oO
然后,我创建了一个仅呈现 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();
}