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开源项目

    在结束了GitHub平台上“最受欢迎的Android开源项目”系列盘点之后,我们正式迎来了“GitHub上最受欢迎的iOS开源项目”系列盘点.今天,我们将介绍20个在GitHub上非常受开发者欢迎的i ...

  2. Windows Phone 8学习 启动器

    1.发邮件 EmailComposeTack email=new EmailComposeTask(); email.To="收件人"; email.Subject="标 ...

  3. Unity3d 项目管理 版本管理

    Unity3d中项目管理     版本管理 如果在提交文件的时候发现提示有"先更新,再提交的"提示的时候,这是因为,A提交了一个版本文件,版本是13,那么你还在修改版本为12的文件 ...

  4. SetTimer and CreateWaitableTimer的例子(静态函数设置为回调函数,瑞士的网页,有点意思)

    Timers (SetTimer and CreateWaitableTimer) in Windows   SetTimer The following example creates a time ...

  5. Netty4.0学习笔记系列之一:Server与Client的通讯

    http://blog.csdn.net/u013252773/article/details/21046697 本文是学习Netty的第一篇文章,主要对Netty的Server和Client间的通讯 ...

  6. Prime Path(素数筛选+bfs)

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9519   Accepted: 5458 Description The m ...

  7. 「Poetize4」玉蟾宫

    描述 Description 这片土地被分成N*M个格子,每个格子里写着'R'或者'F',R代表这块土地被赐予了rainbow,F代表这块土地被赐予了freda.现在freda要在这里卖萌...它要找 ...

  8. LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置(DR模式,一个VIP,多个端口)

    一.概述 LVS作用:实现负载均衡 Keepalived作用:监控集群系统中各个服务节点的状态,HA cluster. 配置LVS有两种方式: 1. 通过ipvsadm命令行方式配置 2. 通过Red ...

  9. uboot从SD卡烧写内核和文件系统

    环境:ubuntu 13.04一.首先制作sd启动盘: 插入SD卡    sudo dd iflag=dsync oflag=dsync if=tiny210v2-uboot.binof=/dev/m ...

  10. 分治(CDQ):[BOI2007]摩基亚Mokia

    [题目描述] 摩尔瓦多的移动电话公司摩基亚(Mokia)设计出了一种新的用户定位系统.和其他的定位系统一样,它能够迅速回答任何形如“用户C的位置在哪?”的问题,精确到毫米.但其真正高科技之处在于,它能 ...