# TextureAtlas

模块 hilo/util/TextureAtlas 依赖 hilo/core/Class 源码 TextureAtlas.js
TextureAtlas纹理集是将许多小的纹理图片整合到一起的一张大图。这个类可根据一个纹理集数据读取纹理小图、精灵动画等。

### 方法概览

| 方法 | 定义于
--- | --- | ---
| TextureAtlas(atlasData:Object) 构造函数 | TextureAtlas
| getFrame(index:Int):Object 获取指定索引位置index的帧数据。 | TextureAtlas
| getSprite(id:String):Object 获取指定id的精灵数据。 | TextureAtlas
| createSpriteFrames(name:String|Array, frames:String, w:Number, h:Number, loop:Boolean, duration:Number, duration) static 创建精灵帧数据的快捷方法。 | TextureAtlas

### 构造函数

TextureAtlas(atlasData:Object)

parameters
atlasData:Object — 纹理集数据。它可包含如下数据：

- image - 纹理集图片。必需。
- width - 纹理集图片宽度。若frames数据为Object时，此属性必需。
- height - 纹理集图片高度。若frames数据为Object时，此属性必需。
- frames - 纹理集帧数据，可以是Array或Object。必需。
  - 若为Array，则每项均为一个纹理图片帧数据，如：[[0, 0, 50, 50], [0, 50, 50, 50]。
  - 若为Object，则需包含frameWidth(帧宽)、frameHeight(帧高)、numFrames(帧数) 属性。
- sprites - 纹理集精灵动画定义，其每个值均定义一个精灵。为Object对象。可选。
  - 若为Number，即此精灵只包含一帧，此帧为帧数据中索引为当前值的帧。如：sprites:{'foo':1}。
  - 若为Array，则每项均为一个帧的索引值。如：sprites:{'foo':[0, 1, 2, 3]}。
  - 若为Object，则需包含from(起始帧索引值)、to(末帧索引值) 属性。

### 方法详情

[Static] createSpriteFrames(name:String|Array, frames:String, w:Number, h:Number, loop:Boolean, duration:Number, duration)
创建精灵帧数据的快捷方法。

     //方式一 单个动画
     createSpriteFrames("walk", "0-5,8,9", meImg, 55, 88, true, 1);
     //方式二 多组动画
     createSpriteFrames([
       ["walk", "0-5,8,9", meImg, 55, 88, true, 1],
       ["jump", "0-5", meImg, 55, 88, false, 1]
     ]);

parameters
name:String|Array — 动画名称|一组动画数据
frames:String — 帧数据 eg:"0-5"代表第0到第5帧
w:Number — 每帧的宽
h:Number — 每帧的高
loop:Boolean — 是否循环
duration:Number — 每帧间隔 默认单位帧, 如果sprite的timeBased为true则单位是毫秒，默认一帧
duration —

getFrame(index:Int):Object
获取指定索引位置index的帧数据。

parameters
index:Int — 要获取帧的索引位置。

return
  Object — 帧数据。

getSprite(id:String):Object
获取指定id的精灵数据。

parameters
id:String — 要获取精灵的id。

return
  Object — 精灵数据。