我一直在使用这种技术来更改我们游戏中的图块,但是我注意到当同时更改许多图块时性能损失相当大。我正在使用该技术为 TMX 地图上的图块设置动画。我想知道是否有人注意到使用该方法更改 tmx 磁贴的任何性能问题?有没有更有效的方法来改变 TMX Tiles?
为了避免性能损失,我能想到的唯一其他选择是将动画精灵附加到 TMX 层,但这似乎不是一个理想的解决方案。
任何意见,将不胜感激。
以下是我所指的方法:
mTestTile.setGlobalTileID(mTMXTiledMap, mGloabalIndex);
//After changing the global ID do this
final int TileHeight = mTMXTiledMap.getTileHeight();
final int TileWidth = mTMXTiledMap.getTileWidth();
//See TMXLayer Class line 308 (getSpriteBatchIndex)
lTMXLayer.setIndex(mTestTile.getTileRow() * mTMXTiledMap.getTileColumns() + mTestTile.getTileColumn());
lTMXLayer.drawWithoutChecks(mTestTile.getTextureRegion(), mTestTile.getTileX(), mTestTile.getTileY(), lTileWidth, lTileHeight, Color.WHITE_ABGR_PACKED_FLOAT);
mTMXTiledMap.mTestTMXLayer.submit();[/syntax]
注意:我正在使用 GLES2 Anchor_Center 分支