我对 LibGDX 和平铺地图有一些问题。我来自 Corona SDK (Lua),我使用过 Lime(第三方库来处理 tmx 地图),现在我切换到 LibGDX 并遵循了这个最近的功能:GraphicsTileMaps
IsometricTiledMapRenderer
我能够使用作为渲染器从资产加载等距地图并OrthographicCamera
显示地图(所有工作如 wiki 页面中所述)。我还能够以编程方式在地图图层上填充一些图块,但是当我尝试使用时,我的问题就开始了AnimatedTiledMapTile
:
map = new TmxMapLoader().load(...);
TiledMapTileLayer layer = (TiledMapTileLayer) map.getLayers().getLayer("layer1");
TiledMapTileSet tileset = map.getTileSets().getTileSet("tileset1");
TiledMapTile grassTile = tileset.getTile(4);
TiledMapTile rockTile = tileset.getTile(6);
Array<StaticTiledMapTile> playerTileArr = new Array<StaticTiledMapTile>();
playerTileArr.add((StaticTiledMapTile)tileset.getTile(7));
playerTileArr.add((StaticTiledMapTile)tileset.getTile(8));
Cell grass = new Cell();
grass.setTile(grassTile);
Cell player = new Cell();
player.setTile(new AnimatedTiledMapTile(0.1f, playerTileArr));
layer.setCell(0,0, grass); // <--- This works.
layer.setCell(0,1, player); // <--- When I try this, it causes
// a NullPointerException.
renderer = IsometricTiledMapRenderer(map, 1 / 30f);
...
有人可以帮忙吗?我找到了一个AnimatedTiledMapTile
用法示例,TideMapLoader
但我知道我使用的是“平铺地图”(而不是“潮汐地图”)。但是..有人可以解释我如何在特定图块上制作动画?