2017-07-11 18 views
0

與LibGDX和Android做簡單的一些平臺遊戲。對我來說不是問題做精靈表動畫,但我想了解一下有效的方式做到「爲地圖元素靜態動畫」 ......例如:用LibGDX做靜態動畫的有效方法?

  1. 星星在天空

  2. 移動草

  3. 移動樹木

這類元件可以是地圖上的很多,我可以在平鋪地圖定義這種對象層和在遊戲開始時注入所有這些動畫元素,但在這種情況下,當地圖建立並且插入這些動畫元素的所有元素即使在遊戲相機之外也將同時進行動畫。爲靜態地圖對象做多個2D動畫的有效方法是什麼?

回答

0
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