【发布时间】:2013-06-25 16:27:37
【问题描述】:
我尝试过制作像 Jetpack Joyride 这样的游戏,其中角色会一直移动直到你死去。
相机跟随角色,一切都很好,直到相机(和角色)的 x 位置达到大约 5000。
我测试让世界上的一切都从 x 位置 5.000.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();
}
【问题讨论】: