У меня проблема с LibGDX и плиточными картами. Я пришел из Corona SDK (Lua), и я использовал Lime (стороннюю библиотеку для обработки карт tmx), теперь я переключился на LibGDX и следил за этой действительно недавней функцией: _ 1_
Мне удалось загрузить изометрическую карту из ресурсов, используя IsometricTiledMapRenderer
в качестве средства визуализации и OrthographicCamera
для отображения карты (все работает, как описано на странице вики). Я также смог программно заполнить некоторую плитку на слое карты, но моя проблема начинается, когда я пытаюсь использовать 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
, но я знаю, что использую" мозаичную карту "(а не" карту приливов "). Однако .. кто-нибудь может объяснить, как я могу сделать анимацию на конкретном тайле?