贴图

在最后一节中你可能注意到了,当我们使用Image类的时候我们需要使用贴图对象,但是按钮怎不同,那么贴图纹理和图像之间有什么区别呢?

一个图片需要一个贴图纹理,就像你数码相机中保存的图像数据一样。你不能但是使用这两者的其中任何一个,你必须为Image对象添加一些纹理贴图数据才能显示一些内容。

在Starling中,我们可以使用一个Image类。这个类创建的时候需要传递一些图像数据内容。

// create an image from a texture:

var texture:Texture = Texture.fromBitmap(new EmbeddedBitmap());

var image:Image = new Image(texture);

// or do the same in one line:

var image:Image = Image.fromBitmap(new EmbeddedBitmap());

你可以将每一个贴图纹理都放入到内存当中,当然,如果你需要同时显示更多的内容的话你可以使用不同的Image对象来进行显示。

使用 texture Atlas

在以前我们会创建很多贴图纹理,但是一个真正的应用绝对不会这样制作。下面是原因。

Starling可以利用GPU批量处理绘制Quad和Image。批量处理时候会根绝不同的需求改变其中都纹理贴图。

在使用GPU纹理贴图的时候。你的图像寛高必须是2的乘方。Starling为你避免了这个限制,但是如果你不这么做的话你会消耗更多的内存和资源。

通过使用纹理集,你可以避免纹理上的更新纹理贴图和资源超出的限制。所有的纹理贴图全部都放到一个“超级纹理”中,并且Starling中的你可以很容易的使用纹理集,所以你要好好的利用这个功能哦~

每一个纹理贴图的数据在XML中的描述格式如下:

;

;

...

;

你不用手动创建纹理集,你可以使用下列工具:

TexturePacker 这是一个强大的软件,可以使用GUI或者通过命令行来进行操作。

Sparrow Starling的姊妹框架Sparrow有一个简单的工具,你可以下载并且安装使用它

你现在有一个纹理集,那么你如何使用呢?代码如下:

// Embed the Atlas XML 嵌入XML数据文件

[Embed(source="atlas.xml", mimeType="application/octet-stream")]

public static const AtlasXml:Class;

//嵌入纹理集图片文件

// Embed the Atlas Texture:

[Embed(source="atlas.png")]

public static const AtlasTexture:Class;

// create atlas 创建图集

var texture:Texture = Texture.fromBitmap(new AtlasTexture());

var xml:XML = XML(new AtlasXml());

var atlas:TextureAtlas = new TextureAtlas(texture, xml);

// display a sub-texture 显示 子纹理

var moonTexture:Texture = atlas.getTexture("moon");

var moonImage:Image = new Image(moonTexture);

创建贴图集在游戏初始化的时候只执行一次,在此之后你可以在游戏中随意引用他们。 对!你看到了,就这么简单!!!!

java starling_Starling处理 纹理和图片机制相关推荐

  1. java代码安全检测机制,下列选项中,属于Java语言的代码安全检测机制的一项是______。A.动态链接B.访问权限的检查C.通过接...

    下列选项中,属于Java语言的代码安全检测机制的一项是______.A.动态链接B.访问权限的检查C.通过接 更多相关问题 Schema类型定义中当需要基于内置的基本数据类型定义一个新的数据类型时,用 ...

  2. Java GC(垃圾回收)机制知识总结

    Java GC系列 Java关键术语 Java HotSpot 虚拟机 JVM体系结构 Java堆内存 启动Java垃圾回收 Java垃圾回收过程 垃圾回收中实例的终结 对象什么时候符合垃圾回收的条件 ...

  3. webgl纹理贴图机制

    文章目录 前言 纹理图片大小规范 纹理坐标系统 贴图流程 JavaScript部分 齐次坐标-uv坐标数据准备 加载外部纹理图像 纹理配置加载 着色器部分 顶点着色器 片元着色器 完整示例 使用多张纹 ...

  4. java入门基础语法及核心机制

    本文内容主要记载了我学习Java零基础教程视频的笔记和学习心得,内容主要包括:(1) Java环境的配置:(2) 基础语法:关键字.标识符.字面值.操作符.数据类型等: (3) 核心机制:封装.继承. ...

  5. Java 字节数组流之图片转成字节数组

    Java 字节数组流之图片转成字节数组,相当于图片的复制 字符串可以直接读取到字节数组中用(getBytes) 问题:将一张图片读到字节数组里面(所有的东西都能够读到字节数组里面) 思路:先使用文件输 ...

  6. 【Java】反射( reflection)机制 详解

    目录 1. 定义 2. 用途(了解即可) 3. 反射的基本信息 4. 反射相关的类(重要) 4.1 Class类(反射机制的起源 ) 4.2 Class类中的相关方法(方法的使用方法在后边的示例当中) ...

  7. R语言ggpattern填充各种色彩、形状、纹理、图片到ggplot2可视化图像:图案填充列表、饼图图案填充、柱状图图案填充

    ​R语言ggpattern填充各种色彩.形状.纹理.图片到ggplot2可视化图像:图案填充列表.饼图图案填充.柱状图图案填充 目录

  8. R语言ggpattern填充各种色彩、形状、纹理、图片到ggplot2可视化图像中示例

    R语言ggpattern填充各种色彩.形状.纹理.图片到ggplot2可视化图像中示例 目录 R语言ggpattern填充各种色彩.形状.纹理.图片到ggplot

  9. Atitit java 二维码识别 图片识别

    Atitit java 二维码识别 图片识别 1.1. 解码1 1.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.1 1.3. 二维码的样例:2 1.4. 定位图案2 1. ...

最新文章

  1. python练习题:使用循环和函数实现一个摇骰子小游戏
  2. Ubuntu 查看操作系统的位数
  3. 八位图 16位图_了解位图
  4. 【输入一个年份,判断是否为闰年(leap year)】
  5. orm2 中文文档 3.2 模型验证器
  6. 通过二进制方式安装innobackupex
  7. CodeWithMosh--mysql 学习笔记(4) -- 相关数据类型
  8. 编译HG255D的openwrt固件
  9. matlab怎么编写风雨荷载时程,风雨荷载作用下输电塔动力响应分析
  10. 昆明市盘龙区打造铸牢中华民族共同体意识盘龙江示范带
  11. LeetCode——字节跳动系列题目
  12. 批量删除html网页,ie浏览器收藏夹网页批量删除方法
  13. ios xmpp 发送语音图片解决方案
  14. 关于单选框以及复选框的css美化方法
  15. linux下编译,Linux 下编译指南
  16. Pinsker 不等式的简单证明
  17. 搭建Eureka高可用集群
  18. com.mysql.cj.jdbc.Driver连接失败解决办法
  19. latex对应希腊字符查表
  20. FSSAI的完整形式是什么?

热门文章

  1. 基于容器环境的1-1课堂的开发部署
  2. Html基本标签与CSS样式基本使用
  3. 国产化趋势下的视频会议多维选择
  4. 什么是微信营销?我们该如何理解
  5. UVM-Objection机制
  6. 【医学+深度论文:F19】Integrating holistic and local deep features for glaucoma classification
  7. Java项目:springboot景区旅游管理系统
  8. 树莓派图形界面显示NO wireless interfaces found
  9. js数组求和、最大、最小值
  10. 如何给iPhone(苹果手机)安装ipa文件