gpt4 book ai didi

java - 如何使用 libgdx 组合 scen2d 和 OrthogonalTiledMapRenderer

转载 作者:行者123 更新时间:2023-12-01 11:44:47 27 4
gpt4 key购买 nike

我正在做的是在全屏上显示平铺 map ,并且效果很好。

角色和镜头的移动都很完美。

我想要的是:

在 map 上显示一些文本或图像按钮,就像屏幕左侧的菜单按钮。

我尝试使用 scene2d 库中的舞台,并且能够在屏幕上绘制我想要的内容,问题是我的播放器 Sprite 被隐藏。

我的代码如下:

public class MapScreen implements Screen {

private TiledMap initialMap;
private static OrthogonalTiledMapRenderer orthogonalTiledMapRenderer;
private OrthographicCamera camera;
//player with x and y coordinates
private Player player;


public MapScreen() {
//my player
player = new player();
//the map
initialMap = getinitialMap();
//i ask the orthogonalTiledMapRenderer to render my map
orthogonalTiledMapRenderer = new OrthogonalTiledMapRenderer(currentmap);
//I create the camera and i make the player in the middle of the screen
camera = new OrthographicCamera();
camera.position.set(w / 2, h / 2, 0);
camera.translate(player.getPosition().x * 32, player.getPosition().y * 32);
camera.translate(-16 * 32, -8 * 32);
camera.update();
}

@Override
public void render(float delta) {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
orthogonalTiledMapRenderer.getSpriteBatch().begin();
orthogonalTiledMapRenderer.setView(camera);
MapLayers mapLayers = initialMap.getLayers();
//I render all the layer with the orthogonalTiledMapRenderer
for (int i = 0; i < mapLayers.getCount(); i++) {
orthogonalTiledMapRenderer
.renderTileLayer((TiledMapTileLayer) mapLayers.get(i));
}
//handling event
handleEvent();
//i update the player position
player.move();
//renderig the player sprite
player.render(orthogonalTiledMapRenderer.getSpriteBatch());
orthogonalTiledMapRenderer.getSpriteBatch().end();

}



}

**我的玩家 Sprite 变得不可见**

最佳答案

尝试移动

stage.draw();

在开始 Sprite 批处理之前。

或者也许之后,但是你的玩家的 z-index 会比舞台元素少。

关于java - 如何使用 libgdx 组合 scen2d 和 OrthogonalTiledMapRenderer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29238869/

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