【发布时间】:2015-05-05 18:43:09
【问题描述】:
我是 libgdx 的新手,我遇到了一个大问题。 我正在使用像素精灵开发游戏,它们在我的手机上看起来不错,但如果我在另一部手机上测试游戏,精灵看起来非常拉伸和糟糕。
我已经测试了视口,但我没有让它按我想要的方式工作。我想做的事情是让我的精灵在每部手机上看起来都很好。唯一看起来像我想要的那样工作的视口是 FillViewport,但是当我使用这个视口时,我无法将相机移动到左下角位置,当我在 0,0 位置绘制精灵时,它们出现在屏幕中间。另外,我也将使用带有像素图块的平铺地图,我遇到了同样的问题......我已经花了几天时间在这方面工作,但我认为是时候寻求帮助了,因为我无法让它工作我自己
请问有什么帮助或提示吗?
这是我的实际代码
@Override
public void show () {
batch = new SpriteBatch();
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
camera = new OrthographicCamera();
viewport = new FillViewport(320,480,camera);
viewport.apply();
camera.position.set(camera.viewportWidth/2,camera.viewportHeight/2,0);
tiledMap = new TmxMapLoader().load("TESTMAP.tmx");
tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap);
img = new Texture("badlogic.jpg");
}
@Override
public void render(float delta) {
// Gdx.gl.glClearColor(193 / 255f, 208 / 255f, 160 / 255f, 1);
Gdx.gl.glClearColor(1,1,1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
tiledMapRenderer.setView(camera);
tiledMapRenderer.render();
batch.setProjectionMatrix(camera.combined);
batch.begin();
batch.draw(img,0, 0);
//batch.draw(pad, player.x, -40);
batch.end();
}
@Override
public void resize(int width, int height) {
viewport.update(width,height);
camera.position.set(camera.viewportWidth/2, camera.viewportHeight/2, 0);
}
【问题讨论】:
-
欢迎来到 Stack Overflow!能否请您出示您的代码,以便我们查看您已经尝试过的内容?
-
我已经用我当前的代码更新了问题:)
标签: android libgdx viewport pixel