LibGdx--TexturePacker的使用

来源:互联网 发布:增发纤维 知乎 编辑:程序博客网 时间:2024/05/09 22:16

将要合成的图片放在一个路径下,图片的规格必须为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;@Overridepublic 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);}@Overridepublic void dispose() {}@Overridepublic void render() {Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);stage.act(Gdx.graphics.getDeltaTime());stage.draw();}@Overridepublic void resize(int width, int height) {}@Overridepublic void pause() {}@Overridepublic void resume() {}}