未生成TileMap;加入舞台?

时间:2013-03-12 09:01:55

标签: libgdx

我对LibGDX不太新,我遇到了一个问题。 我正在构建一个经典风格的RPG / Adventure游戏,我正在使用TiledMap(-Renderer)来创建地图。我已经按照不同的教程,但无法让它工作。 (最后一个是DPG的:完整的工作示例link

我需要的是屏幕右侧的一列按钮(通过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的精确副本,只有上面的更改是相机宽度和高度的设置。有什么建议我在这里做错了吗?

1 个答案:

答案 0 :(得分:0)

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

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

具体而言,将nullprepareCameragetCamera的来电移出render