LibGDXとタイルマップに問題があります。私はCoronaSDK(Lua)から来て、Lime(tmxマップを処理するためのサードパーティのlib)を使用しましたが、今は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
マップ」ではない)を使用していることはわかっています。ただし、特定のタイルでアニメーションを作成する方法を誰かが説明できますか?