# TextureAtlas

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

### Methods

| Method | Defined
--- | --- | ---
| TextureAtlas(atlasData:Object) Constructor | 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 Shorthand method to create spirte frames | TextureAtlas

### Constructor

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(末帧索引值) 属性。

### Method Detail

[Static] createSpriteFrames(name:String|Array, frames:String, w:Number, h:Number, loop:Boolean, duration:Number, duration)
Shorthand method to create spirte frames

     //demo1 make one animation
     createSpriteFrames("walk", "0-5,8,9", meImg, 55, 88, true, 1);
     //demo2 make a group of animation
     createSpriteFrames([
       ["walk", "0-5,8,9", meImg, 55, 88, true, 1],
       ["jump", "0-5", meImg, 55, 88, false, 1]
     ]);

parameters
name:String|Array — Name of one animation|a group of animation
frames:String — Frames message, eg:"0-5" means frame 0 to frame 5.
w:Number — The width of each frame.
h:Number — The height of each frame.
loop:Boolean — Is play in loop.
duration:Number — The time between each frame. default value is 1 (Frame), but if timeBased is true, default value will be duration(milli-second).
duration —

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

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

return
  Object — 帧数据。

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

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

return
  Object — 精灵数据。