# Sprite

继承 Sprite View 模块 hilo/view/Sprite 依赖 hilo/core/Hilo, hilo/core/Class, hilo/view/View, hilo/view/Drawable 源码 Sprite.js
动画精灵类。

### 属性概览

显示继承属性

| 属性 | 定义于
--- | --- | ---
| currentFrame:number 当前播放帧的索引。从0开始。只读属性。 | Sprite
| interval:number 精灵动画的帧间隔。如果timeBased为true，则单位为毫秒，否则为帧数。 | Sprite
| loop:boolean 判断精灵是否可以循环播放。默认为true。 | Sprite
| onEnterFrame:Function 精灵动画的播放头进入新帧时的回调方法。默认值为null。此方法已废弃，请使用addFrameCallback方法。 | Sprite
| paused:boolean 判断精灵是否暂停。默认为false。 | Sprite
| timeBased:boolean 指定精灵动画是否是以时间为基准。默认为false，即以帧为基准。 | Sprite
| align:String|Function 可视对象相对于父容器的对齐方式。取值可查看Hilo.align枚举对象。 | View
| alpha:Number 可视对象的透明度。默认值为1。 | View
| background:Object 可视对象的背景样式。可以是CSS颜色值、canvas的gradient或pattern填充。 | View
| boundsArea:Array 可视对象的区域顶点数组。格式为：[{x:10, y:10}, {x:20, y:20}]。 | View
| depth:Number 可视对象的深度，也即z轴的序号。只读属性。 | View
| drawable:Drawable 可视对象的可绘制对象。供高级开发使用。 | View
| height:Number 可视对象的高度。默认值为0。 | View
| id:String 可视对象的唯一标识符。 | View
| mask:Graphics 可视对象的遮罩图形。 | View
| onUpdate:Function 更新可视对象，此方法会在可视对象渲染之前调用。此函数可以返回一个Boolean值。若返回false，则此对象不会渲染。默认值为null。 限制：如果在此函数中改变了可视对象在其父容器中的层级，当前渲染帧并不会正确渲染，而是在下一渲染帧。可在其父容器的onUpdate方法中来实现。 | View
| parent:Container 可视对象的父容器。只读属性。 | View
| pivotX:Number 可视对象的中心点的x轴坐标。默认值为0。 | View
| pivotY:Number 可视对象的中心点的y轴坐标。默认值为0。 | View
| pointerEnabled:Boolean 可视对象是否接受交互事件。默认为接受交互事件，即true。 | View
| rotation:Number 可视对象的旋转角度。默认值为0。 | View
| scaleX:Number 可视对象在x轴上的缩放比例。默认为不缩放，即1。 | View
| scaleY:Number 可视对象在y轴上的缩放比例。默认为不缩放，即1。 | View
| tint:Number 可视对象的附加颜色，默认0xFFFFFF，只支持WebGL模式。 | View
| transform:Matrix 可视对象的transform属性，如果设置将忽略x, y, scaleX, scaleY, rotation. | View
| visible:Boolean 可视对象是否可见。默认为可见，即true。 | View
| width:Number 可视对象的宽度。默认值为0。 | View
| x:Number 可视对象的x轴坐标。默认值为0。 | View
| y:Number 可视对象的y轴坐标。默认值为0。 | View

### 方法概览

显示继承方法

| 方法 | 定义于
--- | --- | ---
| Sprite(properties) 构造函数 | Sprite
| addFrame(frame:Object, startIndex:Int):Sprite 往精灵动画序列中增加帧。 | Sprite
| getFrame(indexOrName:Object):Object 获取精灵动画序列中指定的帧。 | Sprite
| getFrameIndex(frameValue:Object):Object 获取精灵动画序列中指定帧的索引位置。 | Sprite
| getNumFrames():Uint 返回精灵动画的总帧数。 | Sprite
| goto(indexOrName:Object, pause:Boolean):Sprite 跳转精灵动画到指定的帧。 | Sprite
| play():Sprite 播放精灵动画。 | Sprite
| setFrame(frame:Object, index:Int):Sprite 设置精灵动画序列指定索引位置的帧。 | Sprite
| setFrameCallback(frame:Int|String, callback:Function):Sprite 设置指定帧的回调函数。即每当播放头进入指定帧时调用callback函数。若callback为空，则会删除回调函数。 | Sprite
| stop():Sprite 暂停播放精灵动画。 | Sprite
| addTo(container:Container, index:Uint):View 添加此对象到父容器。 | View
| fire(type:String, detail:Object):Boolean 发送事件。当第一个参数类型为Object时，则把它作为一个整体事件对象。 | View
| getBounds():Array 获取可视对象在舞台全局坐标系内的外接矩形以及所有顶点坐标。 | View
| getScaledHeight():Number 返回可视对象缩放后的高度。 | View
| getScaledWidth():Number 返回可视对象缩放后的宽度。 | View
| getStage():Stage 返回可视对象的舞台引用。若对象没有被添加到舞台，则返回null。 | View
| hitTestObject(object:View, usePolyCollision:Boolean) 检测object参数指定的对象是否与其相交。 | View
| hitTestPoint(x:Number, y:Number, usePolyCollision:Boolean):Boolean 检测由x和y参数指定的点是否在其外接矩形之内。 | View
| off(type:String, listener:Function):Object 删除一个事件监听。如果不传入任何参数，则删除所有的事件监听；如果不传入第二个参数，则删除指定类型的所有事件监听。 | View
| on(type:String, listener:Function, once:Boolean):Object 增加一个事件监听。 | View
| removeFromParent():View 从父容器里删除此对象。 | View
| render(renderer:Renderer, delta:Number) 可视对象的具体渲染逻辑。子类可通过覆盖此方法实现自己的渲染。 | View
| toString():String 返回可视对象的字符串表示。 | View

### 属性详情

currentFrame:number
当前播放帧的索引。从0开始。只读属性。
interval:number
精灵动画的帧间隔。如果timeBased为true，则单位为毫秒，否则为帧数。
loop:boolean
判断精灵是否可以循环播放。默认为true。
onEnterFrame:Function
精灵动画的播放头进入新帧时的回调方法。默认值为null。此方法已废弃，请使用addFrameCallback方法。
paused:boolean
判断精灵是否暂停。默认为false。
timeBased:boolean
指定精灵动画是否是以时间为基准。默认为false，即以帧为基准。

### 构造函数

Sprite(properties)

parameters
properties — 创建对象的属性参数。可包含此类所有可写属性。此外还包括：

- frames - 精灵动画的帧数据对象。

### 方法详情

addFrame(frame:Object, startIndex:Int):Sprite
往精灵动画序列中增加帧。

parameters
frame:Object — 要增加的精灵动画帧数据。
startIndex:Int — 开始增加帧的索引位置。若不设置，默认为在末尾添加。

return
  Sprite — Sprite对象本身。

getFrame(indexOrName:Object):Object
获取精灵动画序列中指定的帧。

parameters
indexOrName:Object — 要获取的帧的索引位置或别名。

return
  Object — 精灵帧对象。

getFrameIndex(frameValue:Object):Object
获取精灵动画序列中指定帧的索引位置。

parameters
frameValue:Object — 要获取的帧的索引位置或别名。

return
  Object — 精灵帧对象。

getNumFrames():Uint
返回精灵动画的总帧数。

return
  Uint — 精灵动画的总帧数。

goto(indexOrName:Object, pause:Boolean):Sprite
跳转精灵动画到指定的帧。

parameters
indexOrName:Object — 要跳转的帧的索引位置或别名。
pause:Boolean — 指示跳转后是否暂停播放。

return
  Sprite — Sprite对象本身。

play():Sprite
播放精灵动画。

return
  Sprite — Sprite对象本身。

setFrame(frame:Object, index:Int):Sprite
设置精灵动画序列指定索引位置的帧。

parameters
frame:Object — 要设置的精灵动画帧数据。
index:Int — 要设置的索引位置。

return
  Sprite — Sprite对象本身。

setFrameCallback(frame:Int|String, callback:Function):Sprite
设置指定帧的回调函数。即每当播放头进入指定帧时调用callback函数。若callback为空，则会删除回调函数。

parameters
frame:Int|String — 要指定的帧的索引位置或别名。
callback:Function — 指定回调函数。

return
  Sprite — 精灵本身。

stop():Sprite
暂停播放精灵动画。

return
  Sprite — Sprite对象本身。