从 LibGdx 中的 tmx 地图 (TiledMap) 创建精灵列表
create a Sprite list from a tmx map (TiledMap) in LibGdx
在网上查了很多都找不到答案..
什么情况?
我是大学计算机科学专业的学生(在比利时),我必须在 Java 中使用图形库 LibGdx.
制作塔防
有什么问题吗?
在LibGdx中,有一个名为"TiledMap"的地图对象。它允许加载 tmx 地图(例如用平铺制作的......)
所以我用这段代码加载这张地图:
TiledMap tiledMap = new TmxMapLoader().load(name);
我用这段代码渲染它:
TiledMapRenderer tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap);
OrthographicCamera camera = new OrthographicCamera(960, 900); // Size of map
camera.position.set(posX, posY, 0);
camera.update();
tiledMapRenderer.setView(camera);
tiledMapRenderer.render();
但我没有找到允许我在 Sprite 列表中分离 tmx 地图的方法或东西。比如
"private Sprite[][] tiles" .. 这个属性将允许通过塔的精灵改变位置 (0,0) 的瓷砖(如果玩家想在这个位置建造塔)
还有用于制作 tmx 地图的属性,我将能够做另一个属性,比如
"private boolean[][] isWay" .. 知道方格 (0,0) 是否是正路(只有方格是正路时怪物才能行走)..
所以不知道怎么把TiledMap改成Sprite[][]
如果我犯了一些英语错误,我很抱歉,但我每天都在努力提高我的英语水平...
感谢您的帮助 ;)
TiledMap 没有任何 Sprite 实例。您可以通过 TiledMapTileLayer layer = (TiledMapTileLayer) map.getLayers().get(0)
获得对 TiledMapTileLayer 的引用,这将获得第一层。
有了它,您可以通过 layer.getCell(x, y)
和 layer.setCell(x, y, cell)
.
获取和设置单元格(以及它们包含的图块)
在网上查了很多都找不到答案..
什么情况? 我是大学计算机科学专业的学生(在比利时),我必须在 Java 中使用图形库 LibGdx.
制作塔防有什么问题吗? 在LibGdx中,有一个名为"TiledMap"的地图对象。它允许加载 tmx 地图(例如用平铺制作的......) 所以我用这段代码加载这张地图:
TiledMap tiledMap = new TmxMapLoader().load(name);
我用这段代码渲染它:
TiledMapRenderer tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap);
OrthographicCamera camera = new OrthographicCamera(960, 900); // Size of map
camera.position.set(posX, posY, 0);
camera.update();
tiledMapRenderer.setView(camera);
tiledMapRenderer.render();
但我没有找到允许我在 Sprite 列表中分离 tmx 地图的方法或东西。比如
"private Sprite[][] tiles" .. 这个属性将允许通过塔的精灵改变位置 (0,0) 的瓷砖(如果玩家想在这个位置建造塔)
还有用于制作 tmx 地图的属性,我将能够做另一个属性,比如
"private boolean[][] isWay" .. 知道方格 (0,0) 是否是正路(只有方格是正路时怪物才能行走)..
所以不知道怎么把TiledMap改成Sprite[][]
如果我犯了一些英语错误,我很抱歉,但我每天都在努力提高我的英语水平...
感谢您的帮助 ;)
TiledMap 没有任何 Sprite 实例。您可以通过 TiledMapTileLayer layer = (TiledMapTileLayer) map.getLayers().get(0)
获得对 TiledMapTileLayer 的引用,这将获得第一层。
有了它,您可以通过 layer.getCell(x, y)
和 layer.setCell(x, y, cell)
.