使用 LibGDX 制作静态动画的有效方法?
Efficient way to do static animation with LibGDX?
用 LibGDX 和 Android 做简单的平台游戏。对我来说,用精灵表做动画不是问题,但我想知道做 "static animation for map elements" 的有效方法......例如:
天上的星星
动草
移动树木
这样的元素在地图上可能有很多,我可以在我的平铺地图中定义这样的对象层,并在游戏开始时注入所有这些动画元素,但在那种情况下,当地图构建并且所有元素都插入这些动画元素时即使它们在 Game Camera 之外,也会同时进行动画处理。为静态地图对象制作多个 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);
用 LibGDX 和 Android 做简单的平台游戏。对我来说,用精灵表做动画不是问题,但我想知道做 "static animation for map elements" 的有效方法......例如:
天上的星星
动草
移动树木
这样的元素在地图上可能有很多,我可以在我的平铺地图中定义这样的对象层,并在游戏开始时注入所有这些动画元素,但在那种情况下,当地图构建并且所有元素都插入这些动画元素时即使它们在 Game Camera 之外,也会同时进行动画处理。为静态地图对象制作多个 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);