gpt4 book ai didi

java - Libgdx - Tiledmap 渲染的图 block 从屏幕上消失

转载 作者:行者123 更新时间:2023-12-01 14:31:58 31 4
gpt4 key购买 nike

我正在创建一个横向卷轴平台游戏,我正在使用我自己的 Tiled map 。我正在使用 OrthogonalTiledMapRenderer 渲染它,但在添加背景图像后,我注意到它们很快就从屏幕上消失了。在第一张图片上,您可以看到仍在渲染背景巨树,在 TiledMap 中,第一个背景瓦片水平地终止于阶梯开始的位置,然后添加相同的图片(所以它基本上是一个图像在水平面上多次粘贴- 第二张图片)。

enter image description here enter image description here

然而,甚至在到达第一张图片的终点之前,它就消失了,看起来像这样:

enter image description here

有人可以帮忙吗?这是渲染的代码:

OrthogonalTiledMapRenderer mapRenderer = new OrthogonalTiledMapRenderer(map, 1 / Constants.PPM);
OrthographicCamera camera = new OrthographicCamera();
float width = Constants.VIEWPORT_WIDTH * camera.zoom * 2;
float height = Constants.VIEWPORT_HEIGHT * camera.zoom * 2;

mapRenderer.setView(camera.combined, cameraX, cameraY, width, height);
Gdx.gl.glClearColor(0x64 / 255.0f, 0x95 / 255.0f, 0xed / 255.0f, 0xff / 255.0f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
mapRenderer.render();

float 随相机位置更新。

cameraX = camera.position.x - camera.viewportWidth * camera.zoom;
cameraY = camera.position.y - camera.viewportHeight * camera.zoom;

相机跟随玩家并固定在 map 的边界上。没什么特别的,我也尝试了 mapRenderer.setView(camera),结果相同。

最佳答案

看起来这是由渲染器端的图 block 乐观剔除引起的,当图 block 过大时它会中断。

解决此问题的一种方法是不为这些背景使用单个大图 block ,而是使用与 map 相同的图 block 大小将背景添加为图 block 集。您仍然可以通过单击+拖动来选择此图 block 集中的所有图 block ,从而轻松地一次放置整个图像。

另一种选择可能是将此图像作为平铺对象放置在对象层上,但我不知道 libgdx 是否会默认为您呈现这些图像。

关于java - Libgdx - Tiledmap 渲染的图 block 从屏幕上消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62249716/

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