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 — 精灵数据。