如何使用/设置TexturePacker2 libgdx

时间:2014-02-17 04:49:33

标签: animation graphics libgdx

texturepacker2 libgdx遇到问题。我试图使用texturepakcer2创建textureAtlas,以便我可以创建动画图像。但是我无法使用

TexturePacker2.process(输入目录路径“,”输出目录路径“,”texture_file“);

因为它无法识别TexturePacker2。 甚至以为我在gdx-tool.jar中导入了libs文件,并且还添加了库 Project -> Properties -> Java Build Path -> Libraries -> Add jars,它仍然无法解析或识别gdx-tool.jar

如何使用TexturePakcer2创建纹理图集?我听说有一种方法可以使用libgdx的夜间构建来创建,我该怎么做?当我解压缩最新的每晚构建时,有那么多jar,但我只能运行setup-ui。

2 个答案:

答案 0 :(得分:1)

有几种方法。我曾经采取过将其实现到我的桌面应用程序的方式。每当我启动它时,都会生成Atlas。 (如果我改变了一些东西)。

public class Main
{
    public static void main(String[] args)
    {
        LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
        cfg.title = "MyApp";
        cfg.useGL20 = true; 
        cfg.fullscreen = false; 
        // switch for fullscreen
        if (cfg.fullscreen)
        {
            cfg.width = Toolkit.getDefaultToolkit().getScreenSize().width;
            cfg.height = Toolkit.getDefaultToolkit().getScreenSize().height;
        }
        else
        {
            cfg.width = 1280;
            cfg.height = 720;
        }

        cfg.addIcon("data/appiconWindows.png", FileType.Internal); 
        // automatic packing of the textures and images and so on
        Settings settings = new Settings();
        settings.maxWidth = 2048;
        settings.maxHeight = 2048;
        settings.paddingX = 0;
        settings.paddingY = 0;
        TexturePacker2.process(settings, "directory with the files",
                "output dir", "name of Atlas"); //third is outputdir
        new LwjglApplication(new MainClass(), cfg);
    }
}

别忘了将工具库添加到Desktop项目中。 gdx-tools.jar来自夜间或稳定。

否则你可以用控制台调用它。像这样:

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

答案 1 :(得分:1)

使用TexturePacker中的com.badlogic.gdx.tools.imagepacker.TexturePacker然后创建一个类,如下所示:

public class TextureSetup {

    public static void main(String[] args) {

        //TexturePacker; using default settings
        TexturePacker.Settings packSettings = new TexturePacker.Settings();     

        TexturePacker.process(packSettings, "input-folder", "output-folder", "textures.pack");
    }
}