TexturePackerGui工具:
1.工具使用:
首先看到texturepacker的界面
界面介绍:
New pack:创建项目按钮,单击后输入文件名称,创建文件。
Input directory:待整合图片资源目录,建议使用test me!目录中的input文件夹
Output directory:整合后图片及配置文件保存目录
Pack all:打包所有创建的文件
File name:配置文件名称
Default image format:默认图片编码格式
Default file format :默认图片合成格式
min page width/height:整合后最小图片的宽度或高度
max page width/height:整合后最大图片的宽度或高度
Padding :边距
Alpha threshold:透明度极限值
使用步骤:
  1. 单击【New pack】按钮,输入项目名,单击确定
  2. 在Input directory处引入要整合的图片的路径
  3. 在Output directory处,引入整合后的输入路径
  4. 在文件配置区域,配置图片边距等信息
  5. 单击【Pack all】按钮,等待图片整合完成。
TextureAtlas类:
又称纹理图集类,主要负责解析TexturePacker合成图片后生成的配置文件。
下面我们实战一下:
执行完成后,查看output目录
一个是图片信息的配置文件,一个是整合后的图片
放到我们项目中的assets目录中
代码如下:
core中的代码:
 package com.mygdx.textureatlas;

 import com.badlogic.gdx.ApplicationAdapter;
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.graphics.GL20;
 import com.badlogic.gdx.graphics.g2d.Sprite;
 import com.badlogic.gdx.graphics.g2d.SpriteBatch;
 import com.badlogic.gdx.graphics.g2d.TextureAtlas;
 /**
  * 使用图片资源
  * @author Jack(乐智)
  * @blog dtblog.cn
  * @qq 984137183
  */
 public class MainGame extends ApplicationAdapter{
     //声明精灵画笔
     private SpriteBatch batch;
     //声明图集变量
     private TextureAtlas atlas;
     //声明精灵
     private Sprite sprite;

     @Override
     public void create() {
         //初始化精灵画笔
         batch=new SpriteBatch();
         //初始化图集对象
         atlas=new TextureAtlas("packer/MyFirst.pack");
         //获取test02图片,赋值给精灵
         sprite=atlas.createSprite("test02");

     }

     @Override
     public void render() {
         //设置白色屏幕背景
         Gdx.gl.glClearColor(1, 1, 1, 1);
         //清屏
         Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
         //开始绘制
         batch.begin();
         //绘制精灵
         sprite.draw(batch);
         batch.end();
         //结束绘制
     }

 }

测试类代码:

 package com.mygdx.game.textureatlas;

 import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
 import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
 import com.mygdx.textureatlas.MainGame;

 public class Test {

     public static void main(String[] args) {
         LwjglApplicationConfiguration config=new LwjglApplicationConfiguration();
         new LwjglApplication(new MainGame(),config);
     }

 }
执行效果:
 
配置文件中各项意思:
ALIEN_JUMP_:首行,代表图片名称,即图集对象获取该图片时的名称
rotate:布尔类型参数,判断是否翻转当前图片
xy:截取纹理图片的起点坐标,如起点(100,20),表示为“xy:100,20”
size:截图纹理的大小
orig:锚点
offset:偏移量
index:纹理图编号

原文由博主 乐智 编辑撰写,版权归博主所有。

原文地址 http://www.dtblog.cn/1152.html 转载请注明出处!

【开源java游戏框架libgdx专题】-12-开发工具-图片合成的更多相关文章

  1. 【开源java游戏框架libgdx专题】-01-libgdx介绍

    libgdx是一款开源的java游戏框架,而且还实现了Desktop/Android/BlackBerry/iOS/HTML5这些些平台的跨平台开发.官方网址:https://libgdx.badlo ...

  2. 【开源java游戏框架libgdx专题】-05-模块描述与上下文

    模块描述(Modules overview) Input:为所有的平台提供一个统一的输入模型和处理程序. 获取触摸示例: if (Gdx.input.isTouched()) { System.out ...

  3. 【开源java游戏框架libgdx专题】-08-中文显示与绘制

    libgdx虽然是由美国人Mario Zechner(即BadlogicGames)写的开源引擎,由于Libgdx底层是用OpenGL实现的,所以Libgdx是可以支持中文的,在libgdx中的汉字都 ...

  4. 【开源java游戏框架libgdx专题】-03-项目开发与调试

    创建libgdx项目 下载项目配置工具 gdx-setup.jar 生成项目 导入Eclipse File -> Import -> Gradle -> Gradle Project ...

  5. 【开源java游戏框架libgdx专题】-11-核心库-演员类

    演员类,又称为Actor类,是libgdx开发中最基本的元素,可以被继承. 演员类,从OpenGL类的角度来理解,可以称为一个二维场景节点.它本身具有位置(postion).边界矩形(类似Retang ...

  6. 【开源java游戏框架libgdx专题】-10-核心库-Viewport

    Viewport类,又称为视口类,主要负责管理游戏相机,处理游戏世界坐标与布景层坐标的换算关系.在移动端开发,不像PC端容易.因为要适配不同分辨率的设备.libgdx处理不同的设备屏幕时,用视口处理舞 ...

  7. 【开源java游戏框架libgdx专题】-07-文件处理

    介绍:文件处理在不同平台的文件管理是略有差异的 Desktop(Windows,Linux,Mac OS X等等):在桌面系统中,文件系统是一个大块的内存.文件可以通过当前的工作目录或者绝对路径被引用 ...

  8. 【开源java游戏框架libgdx专题】-04-接口介绍及生命周期

    在核心项目中包含6大与操作系统交互的接口,每个后端都实现了这6大接口. Application:运行应用程序并通知API的客户端应用程序级别的事件,提供日志记录设施和查询方法,例如,内存使用. Fil ...

  9. 【开源java游戏框架libgdx专题】-14-系统控件-Skin类

    Skin类主要用于存储用户界面的资源,该资源主要用于窗口部件.这些资源也包括纹理图片.位图画笔.颜色等内容.方便创建游戏组件,同时使用Skin也可以批量的粗略处理一些窗口部件. test.json { ...

  10. 【开源java游戏框架libgdx专题】-13-开发工具-地图的使用

    支持libGDX的地图编辑器有很多种,其中比较常用的工具为Tiled地图工具.Tiled是一款非常好用的地图编辑器.下载地址:http://www.mapeditor.org TiledMap类: 又 ...

随机推荐

  1. ios CAF音频转换为MP3

    Url:http://blog.csdn.net/ysy441088327/article/details/7392842#reply 为了达到 iPhone 与 Android 实现音频互通. 那么 ...

  2. java单点登录系统CAS的简单使用

    转:http://blog.csdn.net/yunye114105/article/details/7997041 背景 有几个相对独立的java的web应用系统, 各自有自己的登陆验证功能,用户在 ...

  3. cf B George and Cards

    题意:给你一个只有‘.’和'#'的n*n的格子,问所有的'#'是不是只属于一个十字叉,如果不是输出NO,否则输出YES. #include <cstdio> #include <cs ...

  4. 电容式触摸控制器PCB布局

    在目前市场上可提供的PCB(印刷电路板)基材中,FR4是最常用的一种.FR4是一种玻璃纤维增强型环氧树脂层压板,PCB可以是单层或多层. 在触摸模块的尺寸受限的情况下,使用单层PCB不是总能行得通的, ...

  5. 我的VSTO之路(五):Outlook初步开发之联系人扩展

    原文:我的VSTO之路(五):Outlook初步开发之联系人扩展 上一讲我们完成对Word的介绍,文本开始,我将着重介绍Outlook.Outlook是微软Office中一个非常实用的工具,尤其在一个 ...

  6. Struts2的注解功能

    我们知道通常情况下,Struts2是通过struts.xml配置的.但是随着系统规模的加大我们需要配置的文件会比较大,虽然我们可以根据不同的系统功能将不同模块的配置文件单独书写,然后通过<inc ...

  7. Qt入门(9)——Qt中的线程支持

    Qt对线程提供了支持,基本形式有独立于平台的线程类.线程安全方式的事件传递和一个全局Qt库互斥量允许你可以从不同的线程调用Qt方法.警告:所有的GUI类(比如,QWidget和它的子类),操作系统核心 ...

  8. Javascript 面向对象编程(一):封装 by 阮一峰

    <Javascript高级程序设计(第二版)>(Professional JavaScript for Web Developers, 2nd Edition) 它们都是非常优秀的Java ...

  9. oracle 表的管理(数据类型,表创建删除,数据CRUD 操作)

    表名和列的命名规则

  10. Pet

    Problem Description One day, Lin Ji wake up in the morning and found that his pethamster escaped. He ...