0

我对 LibGDX 很陌生,我遇到了问题。我正在构建一个经典风格的 RPG/冒险游戏,其中我使用 TiledMap(-Renderer) 创建地图。我遵循了不同的教程,但无法使其正常工作。(最后一个是 DPG 的:完整工作示例链接

我需要的是屏幕右侧的一列按钮(通过 ImageButtons 实现)。其中一个按钮通向设置类型的屏幕,另一个应通向游戏地图。在按钮的 ClickListener 下,我添加了 DPK 的代码

    MapHelper map = new MapHelper();

    map.setPackerDirectory("data/packer");

    map.loadMap("data/world/level1/level.tmx");

    map.prepareCamera((int)stage.getWidth(), (int)stage.getHeight());

    map.getCamera().update();

    map.render();

MapHelper 类是 dpk 的精确副本,唯一的变化是相机的宽度和高度的设置。有什么建议我在这里做错了吗?

4

1 回答 1

0

我认为您不想map.render()ClickListener回调中调用。这意味着地图仅在您单击时渲染,然后不会重新渲染(通常在每次刷新屏幕时都会重新渲染所有内容)。

我认为您需要map在应用程序类中跟踪 ,并且在 ClickListener 回调中,您需要设置一个标志或以某种方式“启用”地图(可能将其设置为 以外的其他内容null)。然后在应用程序的 render() 方法中,您可以检查是否应该渲染地图,如果是则渲染它。

具体来说,将调用移至prepareCamera,移出。getCamerarenderClickListener

于 2013-03-13T05:15:01.410 回答