我正在使用 LibGDX,并且我有一个位于 2D 数组的 for 上的字符表。 基本上它有 4 行,第一行有 8 列,第二行有 5 列,接下来的两行重复。我想使用嵌套 for 循环和每行的重复来获取第一行中的所有元素。这是我第一行的内容。有更好的方法吗?
Array<TextureRegion> frames = new Array <TextureRegion>();
// Walking animation
for( int row =0; row< 1; row ++)
{
for(int col=0 ; col<8; col++)
{
frames.add(new TextureRegion(getTexture(), 0,0,64,64));
}
walking = new Animation(0.25F, frames);
frames.clear();
}
最佳答案
恕我直言,最好的方法是使用TextureAtlas:
- 使用下划线命名您的帧,例如 walk_01.png、walk_02.png、walk_03.png 表示行走动画,run_01.png、run_02.png、run_03.png 表示运行动画。
- 按照描述使用TexturePacker创建TextureAtlas here并打包包含之前重命名的图像文件的文件夹
- 加载您的图集,我建议您使用AssetManaget
- 使用 atlas findRegions 方法创建动画:
Animation walk = new Animation(1/30f, atlas.findRegions("walk"), Animation.PlayMode.LOOP);
这样您就不需要计算位置,TextureAtlas 会为您做这件事。
关于java - 从二维数组中获取一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36703312/