java - 从二维数组中获取一行

标签 java arrays libgdx

我正在使用 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/

相关文章:

c - 阵列也存储在磁盘中还是仅存储在内存中?

java - 我是否可以在不了解 Android 操作系统组件的情况下仅使用 LIBGDX 开发 Android 应用程序?

java - GameHelper 在应用程序启动时崩溃

arrays - R 中的 3 维数组名称

java - 在 libgdx 中绘制渐变的子集

java - 将 Eclipse java 项目(带有 java 源文件夹)转换为 gradle 项目

java - Android:内存/资源泄漏

java - Math.Ceil 的浮点精度 (Java)

java - 当我在 pom.xml 中添加库依赖项时,jetty servlet 容器无法正常运行

c# - 实例化并初始化多维数组 C#