TextureAtlas
TextureAtlas纹理集是将许多小的纹理图片整合到一起的一张大图。这个类可根据一个纹理集数据读取纹理小图、精灵动画等。
方法概览
TextureAtlas(atlasData:Object)
构造函数
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(末帧索引值) 属性。
getFrame(index:Int):Object
获取指定索引位置index的帧数据。
index:Int — 要获取帧的索引位置。
return(返回值)
Object — 帧数据。
getSprite(id:String):Object
获取指定id的精灵数据。
id:String — 要获取精灵的id。
return(返回值)
Object — 精灵数据。
createSpriteFrames(name:String|Array, frames:String, w:Number, h:Number, loop:Boolean, duration:Number, duration)
创建精灵帧数据的快捷方法。(重点方法)
name:String|Array — 动画名称|一组动画数据
frames:String — 帧数据 eg:”0-5″代表第0到第5帧
w:Number — 每帧的宽
h:Number — 每帧的高
loop:Boolean — 是否循环
duration:Number — 每帧间隔 默认单位帧, 如果sprite的timeBased为true则单位是毫秒,默认一帧
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]
]);
Ticker模块
Ticker是一个定时器类。它可以按指定帧率重复运行,从而按计划执行代码。
方法概览
Ticker(fps:Number)
构造函数
fps:Number — 指定定时器的运行帧率。默认60。
addTick(tickObject:Object)
添加定时器对象。定时器对象必须实现 tick 方法。
tickObject:Object — 要添加的定时器对象。此对象必须包含 tick 方法。
getMeasuredFPS()
获得测定的运行时帧率。
interval(callback:Function, duration:Number):tickObj
指定的时间周期来调用函数, 类似setInterval
callback:Function —回调函数
duration:Number — 时间周期,单位毫秒
return(返回值)
tickObj —标记对象
nextTick(callback:Function):tickObj
下次tick时回调
callback:Function —回调函数
return(返回值)
tickObj —标记对象
pause()
暂停定时器。
removeTick(tickObject:Object)
删除定时器对象。
tickObject:Object — 要删除的定时器对象。
resume()
恢复定时器。
start(userRAF:Boolean)
启动定时器。
userRAF:Boolean — 是否使用requestAnimationFrame,默认为true。
stop()
停止定时器。
timeout(callback:Function, duration:Number):tickObj
延迟指定的时间后调用回调, 类似setTimeout
parameters
callback:Function —回调函数
duration:Number — 延迟的毫秒数
return(返回值)
tickObj —标记对象
browser 浏览器
浏览器特性集合
属性概览
cssVendor
浏览器厂商CSS前缀的css值。比如:-webkit-。
jsVendor
浏览器厂商CSS前缀的js值。比如:webkit。
POINTER_END
鼠标或触碰结束事件。对应touchend或mouseup。
POINTER_MOVE
鼠标或触碰移动事件。对应touchmove或mousemove。
POINTER_START
鼠标或触碰开始事件。对应touchstart或mousedown。
supportTransform
是否支持CSS Transform变换。
supportTransform3D
是否支持CSS Transform 3D变换。
supportDeviceMotion
是否支持检测加速度devicemotion。
ios
是否是ios
firefox
是否是firefox
ie
是否是ie
safari
是否是safari
ipad
是否是ipad
android
是否是android
opera
是否是opera
supportTouch
是否支持触碰事件。
webkit
是否是webkit
supportCanvas
是否支持canvas元素。
supportStorage
是否支持本地存储localStorage。
iphone
是否是iphone
ipod
是否是ipod
chrome
是否是chrome
supportOrientation
static 是否支持检测设备方向orientation。
drag 拖拽模块
drag是一个包含拖拽功能的mixin。可以通过 Class.mix(view, drag)或Hilo.util.copy(view, drag)来为view增加拖拽功能。
使用示例:
var bmp = new Bitmap({image:img});
Hilo.util.copy(bmp, Hilo.drag);
bmp.startDrag([0, 0, 550, 400]);
属性概览
dragNeedTransform
是否需要 transform,父元素有 transform 时需要设置为true
默认值: false
方法概览
startDrag(bounds:Array)
开始拖拽。
bounds:Array — 拖拽范围,基于父容器坐标系,[x, y, width, height], 默认无限制
stopDrag()
停止拖拽。
util模块
工具方法集合
方法概览
copy(target:Object, source:Object, strict:Boolean):Object
简单的浅复制对象。
target:Object — 要复制的目标对象。
source:Object — 要复制的源对象。
strict:Boolean — 指示是否复制未定义的属性,默认为false,即不复制未定义的属性。
return(返回值)
Object — 复制后的对象。