【问题标题】:Libgdx map changingLibgdx 地图更改
【发布时间】:2019-06-12 17:14:37
【问题描述】:

我正在为我的计算机科学课上的 FSE 项目制作 rpg 游戏,我需要更改游戏中的地图。唯一的问题是我可以通过加载新地图来更改地图,但是由于某种原因,libgdx 仍然记得上一张地图中的 box2d hitboxes。我在第一级完成后调用方法更改图。虽然我没有收到错误

我尝试了多种方法,例如 dispose 并尝试在班级的不同部分制作新地图

 public void ChangeMap(){
    map.dispose();
    map = new TmxMapLoader().load("Assets/Maps/World map1.tmx"); //load the new map
    renderer.setMap(map);
    worldcreator = new WorldCreator(world, map);


}

【问题讨论】:

  • 我不确定您的问题是否正确,但您是说您仍然在屏幕上看到旧地图? (或者新旧地图的混合?)您可能希望将渲染/绘制地图的部分添加到您的问题中。
  • 如果您调用 map.dispose 或更改地图,box2d 主体不会删除。您必须使用 world.destroyBody(Body body) 将尸体从世界上移除

标签: java libgdx


【解决方案1】:

谢谢,我想通了,通过将所有主体添加到 ArrayList 中,我可以使用 world.distroyBody 删除它们,这确实有效

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-01
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    相关资源
    最近更新 更多