我对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的精确副本,只有上面的更改是相机宽度和高度的设置。有什么建议我在这里做错了吗?
答案 0 :(得分:0)
我认为您不想在map.render()
回调中调用ClickListener
。这意味着地图仅在您单击时呈现,然后不重新渲染(通常每个屏幕上的所有内容都会重新渲染)。
我认为您需要跟踪应用程序类中的map
,并且在ClickListener回调中,您需要设置一个标志或以某种方式“启用”地图(可能将其设置为{{1}以外的其他内容})。然后在应用程序的render()方法中,您可以检查是否应该渲染地图,如果是,则渲染它。
具体而言,将null
,prepareCamera
和getCamera
的来电移出render
。