将要合成的图片放在一个路径下,图片的规格必须为2的N次方
新建一个Java工程:
package com.me.texurepacker;
import com.badlogic.gdx.tools.imagepacker.TexturePacker2;
import com.badlogic.gdx.tools.imagepacker.TexturePacker2.Settings;
public class TexturePackerPro {
public static void main(String[] args) {
Settings settings = new Settings();
settings.alias = true;
//输入路径为F:\\Image,输出路径为D:\\Image
//将F:\\Image下的图片合成并输出到D:\\Image
//最后一个参数指定生成的文件的名字
TexturePacker2.process(settings, "F:\\test", "D:\\Image", "image");
}
}
执行后会在D:\Image下生成两文件,一个image.png文件,另一个是image.atlas文件
将这两个文件拷贝到工程中的assets目录下
package com.me.texurepacker;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
public class TexturePackerDemo implements ApplicationListener {
private Stage stage;
@Override
public void create() {
float width = Gdx.graphics.getWidth();
float height = Gdx.graphics.getHeight();
stage = new Stage(width, height, false);
TextureAtlas atlsa = new TextureAtlas(Gdx.files.internal("image.atlas"));
//button 和 star 是合成之前的图片的图片名
Image image1 = new Image(atlsa.findRegion("button"));
Image image2 = new Image(atlsa.findRegion("star"));
stage.addActor(image1);
stage.addActor(image2);
}
@Override
public void dispose() {
}
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
}