gpt4 book ai didi

java - Libgdx TiledMapRenderer 与 TmxMapLoader 尖峰

转载 作者:行者123 更新时间:2023-12-01 04:33:32 25 4
gpt4 key购买 nike

我在开发的滚动游戏中遇到了 TiledMapRenderer 问题。我目前正在使用带有 Tmx Map 的 BatchTiledMapRenderer(我也尝试过使用普通的 TiledMapRenderer)。我的相机 View (我正在使用舞台)为 16x10 block , map 为 98x14 block 长。 map 在我的计算机上以 900x510 分辨率渲染得很好,但当我将其分辨率提高到 1280x720 时,并且大多数情况下当我将其移植到手机上时,偶尔滚动会不太流畅;但大多数时候都是顺利的。我还应该提到,我的图 block 集是由 64x64 图 block 组成的。

我目前对自己做错了什么感到困惑,如果您能提供任何建议,我将不胜感激。以下是部分代码。

相机位置在我的 mainCharacter 类中更新,该类扩展了 Actor 类,并在游戏运行时每帧更新。

在我的 Actor act 方法中:

world.getCamera().position.set(this.getX(), (MyFirstGame.CAMERA_HEIGHT+2)/2f, 0);

在我的Stage 类中:

private TiledMap map;
private BatchTiledMapRenderer renderer;

Stage构造函数中:

Assets.manager.setLoader(TiledMap.class, new TmxMapLoader(new InternalFileHandleResolver()));
Assets.manager.load("data/maps/" + level + ".tmx", TiledMap.class);
Assets.manager.finishLoading();
map = Assets.manager.get("data/maps/" + level + ".tmx");
renderer = new OrthogonalTiledMapRenderer(map, 1f / 64f);

Stage渲染方法中:

this.getCamera().update();
renderer.setView((OrthographicCamera) this.getCamera());
renderer.getSpriteBatch().begin();
renderer.renderTileLayer(skyLayer);
renderer.renderTileLayer(layer2);
renderer.renderTileLayer(layer3);
renderer.renderTileLayer(layer4);
renderer.renderTileLayer(layer5);
renderer.renderTileLayer(foregroundLayer);
renderer.renderTileLayer(waterLayer);
renderer.getSpriteBatch().end();

super.draw();

最佳答案

它实际上对我这样做的原因很简单,我启动的游戏的其他状态(崩溃的)仍在运行。为了解决这个问题,我在我的 main(String[] args) 方法中执行了此操作:

try {
public static void main(String[] args) {
config = new LwjglApplicationConfiguration();
config.vSyncEnabled = true;
config.width = 1920;
config.height = 1080;
config.useGL20 = true;
config.title = "AHH";
new LwjglApplication(new GameClass(), config);
}
catch (Exception e) {
Gdx.app.exit();
System.out.println(e);
}

此外,我建议通过打开任务管理器来确保游戏的所有其他实例都已关闭。

关于java - Libgdx TiledMapRenderer 与 TmxMapLoader 尖峰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17628572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com