【发布时间】: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)将尸体从世界上移除