【问题标题】:cannot load images from imageatlas无法从 imageatlas 加载图像
【发布时间】:2013-06-18 08:32:56
【问题描述】:

以前我使用简单的Texture 来制作基于 sprite 的动画,但它不支持不是 2 次方的图像。TexturePacker 提供了一次加载所有图像的能力,然后从imageatlas 获取所需的图像。

也就是说,我遵循了 Libgdx wiki 中的几个教程,并且在加载部分之前它运行良好。但我想在渲染过程中,它会引起一些问题。这就是我将图像加载到桌面项目中的texturepacker 的方式:

private static final String INPUT_DIR = "../Drop-Android/assets/images";
    private static final String OUTPUT_DIR = "../Drop-Android/assets/image-atlases";
    private static final String PACK_FILE = "pages-info";
    public static void main(String[] args){
        LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
        cfg.title = "Drop";
        cfg.width = 800;
        cfg.height = 480;

        Settings settings = new Settings();
        settings.maxWidth = 512;
        settings.maxHeight = 512;
        TexturePacker2.process(settings, INPUT_DIR, OUTPUT_DIR, PACK_FILE);
        new LwjglApplication(new Drop(), cfg);
    }

问题:我必须在 images-atlases 文件夹中手动创建pages-infoPACK_FILE 吗?如果我不这样做,它会抛出File not found exception

我碰巧在image-atlases 文件夹中创建了pages-info 文件,并生成了以下文件:pages-info.png 和'pages-info.atlas'。虽然pages-info 文件为空,但.png.atlas 文件分别具有图像和JSON 图像数据。

这是我用来从pages-info 文件(为空)中提取textureregions 的方法:

TextureAtlas ta = new TextureAtlas(Gdx.files.internal("image-atlases/pages-info"));
        imageOneRegion = ta.findRegion("image1.png");
        imageTwoRegion = ta.findRegion("image2.png");

正如预期的那样,它在绘制textureregion 时返回一个nullpointerexception。我的想法在这里用完了,有什么帮助和想法吗?

【问题讨论】:

    标签: android libgdx textures texturepacker


    【解决方案1】:

    如果您使用 Texturepacker 生成静态图像图集,它也会生成必要的信息页面。 (libgdx wiki),它被称为 packName.atlas(从命令行尝试)

    java -cp gdx.jar;extensions/gdx-tools/gdx-tools.jar com.badlogic.gdx.tools.imagepacker.TexturePacker2 inputDir [outputDir] [packFileName]
    

    如果要加载图像,您应该只加载 atlas 文件,它不应该是 json 文件,而是自定义文件格式。

    TextureAtlas ta = new TextureAtlas(Gdx.files.internal("image-atlases/<yourAtlasName>.atlas"));
    

    然后你可以不带后缀的文件名来引用 pngs。

    【讨论】:

    • 是的,似乎我做错的唯一一件事就是图像名称和图集文件名错误。但它需要page-info 才能开始生成文件。
    猜你喜欢
    • 2016-10-12
    • 2015-07-25
    • 2018-04-05
    • 2013-01-11
    • 2012-06-30
    • 2016-05-25
    • 2020-08-03
    • 2020-05-13
    相关资源
    最近更新 更多