代码之家  ›  专栏  ›  技术社区  ›  Lugaru

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

  •  1
  • Lugaru  · 技术社区  · 7 年前

    1. 移动树木

    这种元素在地图上可能很多,我可以在我的平铺地图中定义这样的对象层,并在游戏开始时注入所有这些动画元素,但在这种情况下,当地图构建和所有元素插入时,这些动画元素将同时被动画化,即使它们在游戏摄像机之外。为静态地图对象制作多个2D动画的有效方法是什么?

    1 回复  |  直到 7 年前
        1
  •  1
  •   AAryan    7 年前
    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);
    

    现在动画文件已准备就绪,但不在地图中。检查特定单元格是否在屏幕内,或者将某些偏移设置为要放置动画文件的特定单元格,当移到屏幕外时,可以删除该平铺。

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