用LibGDX做静态动画的有效方法?

问题描述:

与LibGDX和Android做简单的一些平台游戏。对我来说不是问题做精灵表动画,但我想了解一下有效的方式做到“为地图元素静态动画” ......例如:用LibGDX做静态动画的有效方法?

  1. 星星在天空

  2. 移动草

  3. 移动树木

这类元件可以是地图上的很多,我可以在平铺地图定义这种对象层和在游戏开始时注入所有这些动画元素,但在这种情况下,当地图建立并且插入这些动画元素的所有元素即使在游戏相机之外也将同时进行动画。为静态地图对象做多个2D动画的有效方法是什么?

int frameSize=2; 
TiledMap map; 
String tileSetName="stars"; 
int firstTileId=3,secondTileId=4; 

Array<StaticTiledMapTile> frameTiles=new Array<StaticTiledMapTile>(frameSize); 
frameTiles.add((StaticTiledMapTile) map.getTileSets().getTileSet(tileSetName).getTile(firstTileId)); 
frameTiles.add((StaticTiledMapTile) map.getTileSets().getTileSet(tileSetName).getTile(secondTileId)); 

AnimatedTiledMapTile animatedTile=new AnimatedTiledMapTile(1/2f, frameTiles); 

现在AnimatedTile已准备就绪,但不在地图中。检查特定单元格是否位于屏幕内部,或者某些偏移量是否设置为要放置AnimatedTile的特定单元格,以及何时离开屏幕可以移除该图块。

myLayer.getCell(x,y).setTile(animatedTile); 
+0

是否可以将动画图块设置为我的平铺地图的对象层?只是好奇它将如何看起来像是因为平铺地图单元格大小为10 * 10px而动画精灵表单包含带有透明bg的PNG的帧27 * 15px。 – Lugaru

+0

我不这么认为,可以将动画图块设置为对象图层。我与瓦片层一起使用 – Aryan

+1

让我们考虑一下可能包含4个动画帧的明星,因此为该明星png创建瓦片集,然后在该瓦片集包含4个瓦片之后每个都是明星动画帧,然后获取所有帧并创建动画瓦片和放在你想要的地图上。 – Aryan