Packagelaya.display
Classpublic class AnimationPlayerBase
InheritanceAnimationPlayerBase Inheritance Sprite Inheritance Node Inheritance EventDispatcher Inheritance Object
Subclasses Animation, FrameAnimation

动画播放基类,提供了基础的动画播放控制方法和帧标签事件相关功能。

可以继承此类,但不要直接实例化此类,因为有些方法需要由子类实现。



Public Properties
 PropertyDefined By
 Inheritedalpha : Number
透明度,值为0-1,默认值为1,表示不透明。更改alpha值会影响drawcall。
Sprite
 InheritedautoSize : Boolean = false
指定是否自动计算宽高数据。默认值为 false 。 Sprite宽高默认为0,并且不会随着绘制内容的变化而变化,如果想根据绘制内容获取宽高,可以设置本属性为true,或者通过getBounds方法获取。设置为true,对性能有一定影响。
Sprite
 InheritedblendMode : String
指定要使用的混合模式。目前只支持"lighter"。
Sprite
 InheritedcacheAs : String
指定显示对象是否缓存为静态图像,cacheAs时,子对象发生变化,会自动重新缓存,同时也可以手动调用reCache方法更新缓存。 建议把不经常变化的“复杂内容”缓存为静态图像,能极大提高渲染性能。cacheAs有"none","normal"和"bitmap"三个值可选。 默认为"none",不做任何缓存。 当值为"normal"时,canvas模式下进行画布缓存,webgl模式下进行命令缓存。 当值为"bitmap"时,canvas模式下进行依然是画布缓存,webgl模式下使用renderTarget缓存。 webgl下renderTarget缓存模式缺点:会额外创建renderTarget对象,增加内存开销,缓存面积有最大2048限制,不断重绘时会增加CPU开销。优点:大幅减少drawcall,渲染性能最高。 webgl下命令缓存模式缺点:只会减少节点遍历及命令组织,不会减少drawcall数,性能中等。优点:没有额外内存开销,无需renderTarget支持。
Sprite
 InheritedcacheAsBitmap : Boolean
指定显示对象是否缓存为静态图像。功能同cacheAs的normal模式。建议优先使用cacheAs代替。
Sprite
  count : int
[read-only] 当前动画中帧的总数。
AnimationPlayerBase
 InheritedcustomRenderEnable : Boolean
[write-only] 设置是否开启自定义渲染,只有开启自定义渲染,才能使用customRender函数渲染。
Sprite
 Inheriteddestroyed : Boolean
[只读]是否已经销毁。对象销毁后不能再使用。
Node
 InheriteddisplayedInStage : Boolean
[read-only] 表示是否在显示列表中显示。
Node
 Inheritedfilters : Array
滤镜集合。可以设置多个滤镜组合。
Sprite
 InheritedglobalScaleX : Number
[read-only] 获得相对于stage的全局X轴缩放值(会叠加父亲节点的缩放值)。
Sprite
 InheritedglobalScaleY : Number
[read-only] 获得相对于stage的全局Y轴缩放值(会叠加父亲节点的缩放值)。
Sprite
 Inheritedgraphics : Graphics
绘图对象。封装了绘制位图和矢量图的接口,Sprite所有的绘图操作都通过Graphics来实现的。
Sprite
 Inheritedheight : Number
显示对象的高度,单位为像素,默认为0。 此高度用于鼠标碰撞检测,并不影响显示对象图像大小。需要对显示对象的图像进行缩放,请使用scale、scaleX、scaleY。 可以通过getbounds获取显示对象图像的实际高度。
Sprite
 InheritedhitArea : *
可以设置一个Rectangle区域作为点击区域,或者设置一个HitArea实例作为点击区域,HitArea内可以设置可点击和不可点击区域。 如果不设置hitArea,则根据宽高形成的区域进行碰撞。
Sprite
 InheritedhitTestPrior : Boolean = false
指定鼠标事件检测是优先检测自身,还是优先检测其子对象。鼠标事件检测发生在鼠标事件的捕获阶段,此阶段引擎会从stage开始递归检测stage及其子对象,直到找到命中的目标对象或者未命中任何对象。 如果为false,优先检测子对象,当有子对象被命中时,中断检测,获得命中目标。如果未命中任何子对象,最后再检测此对象;如果为true,则优先检测本对象,如果本对象没有被命中,直接中断检测,表示没有命中目标;如果本对象被命中,则进一步递归检测其子对象,以确认最终的命中目标。 合理使用本属性,能减少鼠标事件检测的节点,提高性能。可以设置为true的情况:开发者并不关心此节点的子节点的鼠标事件检测结果,也就是以此节点作为其子节点的鼠标事件检测依据。 Stage对象和UI的View组件默认为true。
Sprite
  index : int
动画当前帧的索引。
AnimationPlayerBase
  interval : int
动画播放的帧间隔时间(单位:毫秒)。默认值依赖于Config.animationInterval=50,通过Config.animationInterval可以修改默认帧间隔时间。 要想为某动画设置独立的帧间隔时间,可以使用set interval,注意:如果动画正在播放,设置后会重置帧循环定时器的起始时间为当前时间,也就是说,如果频繁设置interval,会导致动画帧更新的时间间隔会比预想的要慢,甚至不更新。
AnimationPlayerBase
  isPlaying : Boolean
[read-only] 是否正在播放中。
AnimationPlayerBase
  loop : Boolean
是否循环播放,调用play(...)方法时,会将此值设置为指定的参数值。
AnimationPlayerBase
 Inheritedmask : Sprite
遮罩,可以设置一个对象(支持位图和矢量图),根据对象形状进行遮罩显示。 【注意】遮罩对象坐标系是相对遮罩对象本身的,和Flash机制不同
Sprite
 InheritedmouseEnabled : Boolean
是否接受鼠标事件。 默认为false,如果监听鼠标事件,则会自动设置本对象及父节点的属性 mouseEnable 的值都为 true(如果父节点手动设置为false,则不会更改)。
Sprite
 InheritedmouseThrough : Boolean = false
鼠标事件与此对象的碰撞检测是否可穿透。碰撞检测发生在鼠标事件的捕获阶段,此阶段引擎会从stage开始递归检测stage及其子对象,直到找到命中的目标对象或者未命中任何对象。 穿透表示鼠标事件发生的位置处于本对象绘图区域内时,才算命中,而与对象宽高和值为Rectangle对象的hitArea属性无关。如果sprite.hitArea值是HitArea对象,表示显式声明了此对象的鼠标事件响应区域,而忽略对象的宽高、mouseThrough属性。 影响对象鼠标事件响应区域的属性为:width、height、hitArea,优先级顺序为:hitArea(type:HitArea)>hitArea(type:Rectangle)>width/height。
Sprite
 InheritedmouseX : Number
[read-only] 返回鼠标在此对象坐标系上的 X 轴坐标信息。
Sprite
 InheritedmouseY : Number
[read-only] 返回鼠标在此对象坐标系上的 Y 轴坐标信息。
Sprite
 Inheritedname : String
节点名称。
Node
 InheritednumChildren : int
[read-only] 子对象数量。
Node
 InheritedoptimizeScrollRect : Boolean
指定是否对使用了 scrollRect 的显示对象进行优化处理。默认为false(不优化)。 当值为ture时:将对此对象使用了scrollRect 设定的显示区域以外的显示内容不进行渲染,以提高性能(如果子对象有旋转缩放或者中心点偏移,则显示筛选会不精确)。
Sprite
 Inheritedparent : Node
[override]
Sprite
 InheritedpivotX : Number
X轴 轴心点的位置,单位为像素,默认为0。轴心点会影响对象位置,缩放中心,旋转中心。
Sprite
 InheritedpivotY : Number
Y轴 轴心点的位置,单位为像素,默认为0。轴心点会影响对象位置,缩放中心,旋转中心。
Sprite
 Inheritedrotation : Number
旋转角度,默认值为0。以角度为单位。
Sprite
 InheritedscaleX : Number
X轴缩放值,默认值为1。设置为负数,可以实现水平反转效果,比如scaleX=-1。
Sprite
 InheritedscaleY : Number
Y轴缩放值,默认值为1。设置为负数,可以实现垂直反转效果,比如scaleX=-1。
Sprite
 InheritedscrollRect : Rectangle
显示对象的滚动矩形范围,具有裁剪效果(如果只想限制子对象渲染区域,请使用viewport),设置optimizeScrollRect=true,可以优化裁剪区域外的内容不进行渲染。 srollRect和viewport的区别: 1.srollRect自带裁剪效果,viewport只影响子对象渲染是否渲染,不具有裁剪效果(性能更高)。 2.设置rect的x,y属性均能实现区域滚动效果,但scrollRect会保持0,0点位置不变。
Sprite
 InheritedskewX : Number
水平倾斜角度,默认值为0。以角度为单位。
Sprite
 InheritedskewY : Number
垂直倾斜角度,默认值为0。以角度为单位。
Sprite
 Inheritedstage : Stage
[read-only] 对舞台 stage 的引用。
Sprite
 InheritedstaticCache : Boolean
是否静态缓存此对象的当前帧的最终属性。为 true 时,子对象变化时不会自动更新缓存,但是可以通过调用 reCache 方法手动刷新。 注意: 1.
Sprite
 Inheritedtexture : Texture
设置一个Texture实例,并显示此图片(如果之前有其他绘制,则会被清除掉)。等同于graphics.clear();graphics.drawTexture()
Sprite
 Inheritedtimer : Timer
时间控制器,默认为Laya.timer。
Node
 Inheritedtransform : Matrix
对象的矩阵信息。通过设置矩阵可以实现节点旋转,缩放,位移效果。 矩阵更多信息请参考 Matrix
Sprite
 Inheritedviewport : Rectangle = null
视口大小,视口外的子对象,将不被渲染(如果想实现裁剪效果,请使用srollRect),合理使用能提高渲染性能。比如由一个个小图片拼成的地图块,viewport外面的小图片将不渲染 srollRect和viewport的区别: 1.
Sprite
 Inheritedvisible : Boolean
表示是否可见,默认为true。如果设置不可见,节点将不被渲染。
Sprite
 Inheritedwidth : Number
显示对象的宽度,单位为像素,默认为0。 此宽度用于鼠标碰撞检测,并不影响显示对象图像大小。需要对显示对象的图像进行缩放,请使用scale、scaleX、scaleY。 可以通过getbounds获取显示对象图像的实际宽度。
Sprite
  wrapMode : int = 0
播放顺序类型:AnimationPlayerBase.WRAP_POSITIVE为正序播放,AnimationPlayerBase.WRAP_REVERSE为倒序播放,AnimationPlayerBase.WRAP_PINGPONG为pingpong播放(当按指定顺序播放完结尾后,如果继续播发,则会改变播放顺序)。 默认为正序播放。
AnimationPlayerBase
 Inheritedx : Number
表示显示对象相对于父容器的水平方向坐标值。
Sprite
 Inheritedy : Number
表示显示对象相对于父容器的垂直方向坐标值。
Sprite
 InheritedzOrder : Number
z排序,更改此值,则会按照值的大小对同一容器的所有对象重新排序。值越大,越靠上。默认为0,则根据添加顺序排序。
Sprite
Protected Properties
 PropertyDefined By
  _isReverse : Boolean = false
是否是逆序播放
AnimationPlayerBase
Public Methods
 MethodDefined By
  
可以继承此类,但不要直接实例化此类,因为有些方法需要由子类实现。
AnimationPlayerBase
 Inherited
添加子节点。
Node
 Inherited
addChildAt(node:Node, index:int):Node
添加子节点到指定的索引位置。
Node
 Inherited
addChildren(... args):void
批量增加子节点
Node
  
addLabel(label:String, index:int):void
增加一个帧标签到指定索引的帧上。当动画播放到此索引的帧时会派发Event.LABEL事件,派发事件是在完成当前帧画面更新之后。
AnimationPlayerBase
  
clear():void
停止动画播放,并清理对象属性。之后可存入对象池,方便对象复用。
AnimationPlayerBase
 Inherited
clearTimer(caller:*, method:Function):void
清理定时器。功能同Laya.timer.clearTimer()。
Node
 Inherited
contains(node:Node):Boolean
当前容器是否包含指定的 Node 节点对象 。
Node
 Inherited
customRender(context:RenderContext, x:Number, y:Number):void
自定义更新、呈现显示对象。一般用来扩展渲染模式,请合理使用,可能会导致在加速器上无法渲染。 注意不要在此函数内增加或删除树节点,否则会对树节点遍历造成影响。
Sprite
 Inherited
destroy(destroyChild:Boolean = true):void
[override] 销毁此对象。destroy对象默认会把自己从父节点移除,并且清理自身引用关系,等待js自动垃圾回收机制回收。destroy后不能再使用。 destroy时会移除自身的事情监听,自身的timer监听,移除子对象及从父节点移除自己。
Sprite
 Inherited
销毁所有子对象,不销毁自己本身。
Node
 Inherited
drawToCanvas(canvasWidth:Number, canvasHeight:Number, offsetX:Number, offsetY:Number):HTMLCanvas
绘制 当前Sprite 到 Canvas 上,并返回一个HtmlCanvas。 绘制的结果可以当作图片源,再次绘制到其他Sprite里面,示例: var htmlCanvas:HTMLCanvas = sprite.drawToCanvas(100, 100, 0, 0);//把精灵绘制到canvas上面 var texture:Texture = new Texture(htmlCanvas);//使用htmlCanvas创建Texture var sp:Sprite = new Sprite().pos(0, 200);//创建精灵并把它放倒200位置 sp.graphics.drawTexture(texture);//把截图绘制到精灵上 Laya.stage.addChild(sp);//把精灵显示到舞台 也可以获取原始图片数据,分享到网上,从而实现截图效果,示例: var htmlCanvas:HTMLCanvas = sprite.drawToCanvas(100, 100, 0, 0);//把精灵绘制到canvas上面 var canvas:= htmlCanvas.getCanvas();//获取原生的canvas对象 trace(canvas.toDataURL("image/png"));//打印图片base64信息,可以发给服务器或者保存为图片
Sprite
 Inherited
event(type:String, data:* = null):Boolean
派发事件。
EventDispatcher
 Inherited
frameLoop(delay:int, caller:*, method:Function, args:Array = null, coverBefore:Boolean = true):void
定时重复执行某函数(基于帧率)。功能同Laya.timer.frameLoop()。
Node
 Inherited
frameOnce(delay:int, caller:*, method:Function, args:Array = null, coverBefore:Boolean = true):void
定时执行一次某函数(基于帧率)。功能同Laya.timer.frameOnce()。
Node
 Inherited
fromImage(url:String):Sprite
[static] 根据图片地址创建一个新的 Sprite 对象用于加载并显示此图片。
Sprite
 Inherited
将父容器坐标系坐标转换到本地坐标系。
Sprite
 Inherited
获取本对象在父容器坐标系的矩形显示区域。 注意: 1.计算量较大,尽量少用,如果需要频繁使用,可以通过手动设置 setBounds 来缓存自身边界信息,从而避免比较消耗性能的计算。2.
Sprite
 Inherited
getChildAt(index:int):Node
根据子节点的索引位置,获取子节点对象。
Node
 Inherited
getChildByName(name:String):Node
根据子节点的名字,获取子节点对象。
Node
 Inherited
根据子节点对象,获取子节点的索引位置。
Node
 Inherited
getGraphicBounds(realSize:Boolean = false):Rectangle
返回此实例中的绘图对象( Graphics )的显示区域,不包括子对象。
Sprite
 Inherited
获得相对于本对象上的鼠标坐标信息。
Sprite
 Inherited
获取对象在自身坐标系的边界范围。与 setBounds 对应。 注意:计算量较大,尽量少用,如果需要频繁使用,可以提前手动设置 setBounds 来缓存自身边界信息,从而避免比较消耗性能的计算。
Sprite
 Inherited
globalToLocal(point:Point, createNewPoint:Boolean = false):Point
把stage的全局坐标转换为本地坐标。
Sprite
  
gotoAndStop(position:*):void
将动画切换到指定帧并停在那里。
AnimationPlayerBase
 Inherited
hasListener(type:String):Boolean
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
hitTestPoint(x:Number, y:Number):Boolean
检测某个点是否在此对象内。
Sprite
 Inherited
isMouseEvent(type:String):Boolean
检测指定事件类型是否是鼠标事件。
EventDispatcher
 Inherited
loadImage(url:String, x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0, complete:Handler = null):Sprite
加载并显示一个图片。功能等同于graphics.loadImage方法。支持异步加载。 注意:多次调用loadImage绘制不同的图片,会同时显示。
Sprite
 Inherited
localToGlobal(point:Point, createNewPoint:Boolean = false):Point
把本地坐标转换为相对stage的全局坐标。
Sprite
 Inherited
off(type:String, caller:*, listener:Function, onceOnly:Boolean = false):EventDispatcher
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
 Inherited
offAll(type:String = null):EventDispatcher
从 EventDispatcher 对象中删除指定事件类型的所有侦听器。
EventDispatcher
 Inherited
on(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher
[override] 增加事件侦听器,以使侦听器能够接收事件通知。 如果侦听鼠标事件,则会自动设置自己和父亲节点的属性 mouseEnabled 的值为 true(如果父节点mouseEnabled=false,则停止设置父节点mouseEnabled属性)。
Sprite
 Inherited
once(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher
[override] 增加事件侦听器,以使侦听器能够接收事件通知,此侦听事件响应一次后则自动移除侦听。 如果侦听鼠标事件,则会自动设置自己和父亲节点的属性 mouseEnabled 的值为 true(如果父节点mouseEnabled=false,则停止设置父节点mouseEnabled属性)。
Sprite
 Inherited
cacheAs时,设置所有父对象缓存失效。
Sprite
 Inherited
pivot(x:Number, y:Number):Sprite
设置轴心点。相当于分别设置pivotX和pivotY属性。 因为返回值为Sprite对象本身,所以可以使用如下语法:spr.pivot(...).pos(...);
Sprite
  
play(start:* = 0, loop:Boolean = true, name:String, showWarn:Boolean = true):void
开始播放动画。play(...)方法被设计为在创建实例后的任何时候都可以被调用,当相应的资源加载完毕、调用动画帧填充方法(set frames)或者将实例显示在舞台上时,会判断是否正在播放中,如果是,则进行播放。 配合wrapMode属性,可设置动画播放顺序类型。
AnimationPlayerBase
 Inherited
pos(x:Number, y:Number, speedMode:Boolean = false):Sprite
设置坐标位置。相当于分别设置x和y属性。 因为返回值为Sprite对象本身,所以可以使用如下语法:spr.pos(...).scale(...);
Sprite
 Inherited
reCache():void
在设置cacheAs的情况下,调用此方法会重新刷新缓存。
Sprite
 Inherited
删除子节点。
Node
 Inherited
removeChildAt(index:int):Node
根据子节点索引位置,删除对应的子节点对象。
Node
 Inherited
removeChildByName(name:String):Node
根据子节点名字删除对应的子节点对象,如果找不到不会抛出异常。
Node
 Inherited
removeChildren(beginIndex:int = 0, endIndex:int = 0x7fffffff):Node
删除指定索引区间的所有子对象。
Node
  
removeLabel(label:String):void
删除指定的帧标签。
AnimationPlayerBase
 Inherited
从父容器删除自己,如已经被删除不会抛出异常。
Node
 Inherited
render(context:RenderContext, x:Number, y:Number):void
更新、呈现显示对象。由系统调用。
Sprite
 Inherited
repaint():void
cacheAs后,设置自己和父对象缓存失效。
Sprite
 Inherited
replaceChild(newNode:Node, oldNode:Node):Node
替换子节点。
Node
 Inherited
scale(scaleX:Number, scaleY:Number, speedMode:Boolean = false):Sprite
设置缩放。相当于分别设置scaleX和scaleY属性。 因为返回值为Sprite对象本身,所以可以使用如下语法:spr.scale(...).pos(...);
Sprite
 Inherited
setBounds(bound:Rectangle):void
设置对象在自身坐标系下的边界范围。与 getSelfBounds 对应。当 autoSize==true 时,会影响对象宽高。设置后,当需要获取自身边界范围时,就不再需要计算,合理使用能提高性能。比如 getBounds 会优先使用 setBounds 指定的值,如果没有指定则进行计算,此计算会对性能消耗比较大。 注意: setBounds 与 getBounds 并非对应相等关系, getBounds 获取的是本对象在父容器坐标系下的边界范围,通过设置 setBounds 会影响 getBounds 的结果。
Sprite
 Inherited
setChildIndex(node:Node, index:int):Node
设置子节点的索引位置。
Node
 Inherited
size(width:Number, height:Number):Sprite
设置宽高。相当于分别设置width和height属性。 因为返回值为Sprite对象本身,所以可以使用如下语法:spr.size(...).pos(...);
Sprite
 Inherited
skew(skewX:Number, skewY:Number):Sprite
设置倾斜角度。相当于分别设置skewX和skewY属性。 因为返回值为Sprite对象本身,所以可以使用如下语法:spr.skew(...).pos(...);
Sprite
 Inherited
startDrag(area:Rectangle = null, hasInertia:Boolean = false, elasticDistance:Number = 0, elasticBackTime:int = 300, data:* = null, disableMouseEvent:Boolean = false, ratio:Number = 0.92):void
开始拖动此对象。
Sprite
  
stop():void
停止动画播放。
AnimationPlayerBase
 Inherited
stopDrag():void
停止拖动此对象。
Sprite
 Inherited
timerLoop(delay:int, caller:*, method:Function, args:Array = null, coverBefore:Boolean = true, jumpFrame:Boolean = false):void
定时重复执行某函数。功能同Laya.timer.timerLoop()。
Node
 Inherited
timerOnce(delay:int, caller:*, method:Function, args:Array = null, coverBefore:Boolean = true):void
定时执行某函数一次。功能同Laya.timer.timerOnce()。
Node
 Inherited
将本地坐标系坐标转转换到父容器坐标系。
Sprite
 Inherited
根据zOrder进行重新排序。
Sprite
Events
 Event Summary Defined By
 Inherited添加到父对象后调度。Node
 Inherited鼠标点击对象后调度。Sprite
  动画播放完毕后调度。AnimationPlayerBase
 Inherited加入节点树时调度。Node
 Inherited拖动结束后调度。Sprite
 Inherited拖动中调度。Sprite
 Inherited开始拖动后调度。Sprite
  播放到某标签后调度。AnimationPlayerBase
 Inherited在显示对象上按下后调度。Sprite
 Inherited鼠标在对象身上进行移动后调度Sprite
 Inherited鼠标离开对象后调度。Sprite
 Inherited鼠标经过对象后调度。Sprite
 Inherited在显示对象抬起后调度。Sprite
 Inherited被父对象移除后调度。Node
 Inherited从节点树移除时调度。Node
Public Constants
 ConstantDefined By
  WRAP_PINGPONG : int = 2
[static] 动画播放顺序类型:pingpong播放(当按指定顺序播放完结尾后,如果继续播发,则会改变播放顺序)。
AnimationPlayerBase
  WRAP_POSITIVE : int = 0
[static] 动画播放顺序类型:正序播放。
AnimationPlayerBase
  WRAP_REVERSE : int = 1
[static] 动画播放顺序类型:逆序播放。
AnimationPlayerBase
Property Detail
_isReverseproperty
protected var _isReverse:Boolean = false

是否是逆序播放

countproperty 
count:int  [read-only]

当前动画中帧的总数。


Implementation
    public function get count():int
indexproperty 
index:int

动画当前帧的索引。


Implementation
    public function get index():int
    public function set index(value:int):void
intervalproperty 
interval:int

动画播放的帧间隔时间(单位:毫秒)。默认值依赖于Config.animationInterval=50,通过Config.animationInterval可以修改默认帧间隔时间。

要想为某动画设置独立的帧间隔时间,可以使用set interval,注意:如果动画正在播放,设置后会重置帧循环定时器的起始时间为当前时间,也就是说,如果频繁设置interval,会导致动画帧更新的时间间隔会比预想的要慢,甚至不更新。


Implementation
    public function get interval():int
    public function set interval(value:int):void
isPlayingproperty 
isPlaying:Boolean  [read-only]

是否正在播放中。


Implementation
    public function get isPlaying():Boolean
loopproperty 
public var loop:Boolean

是否循环播放,调用play(...)方法时,会将此值设置为指定的参数值。

wrapModeproperty 
public var wrapMode:int = 0

播放顺序类型:AnimationPlayerBase.WRAP_POSITIVE为正序播放,AnimationPlayerBase.WRAP_REVERSE为倒序播放,AnimationPlayerBase.WRAP_PINGPONG为pingpong播放(当按指定顺序播放完结尾后,如果继续播发,则会改变播放顺序)。

默认为正序播放。

Constructor Detail
AnimationPlayerBase()Constructor
public function AnimationPlayerBase()

可以继承此类,但不要直接实例化此类,因为有些方法需要由子类实现。

Method Detail
addLabel()method
public function addLabel(label:String, index:int):void

增加一个帧标签到指定索引的帧上。当动画播放到此索引的帧时会派发Event.LABEL事件,派发事件是在完成当前帧画面更新之后。

Parameters

label:String — 帧标签名称
 
index:int — 帧索引

clear()method 
public function clear():void

停止动画播放,并清理对象属性。之后可存入对象池,方便对象复用。

gotoAndStop()method 
public function gotoAndStop(position:*):void

将动画切换到指定帧并停在那里。

Parameters

position:* — 帧索引或帧标签

play()method 
public function play(start:* = 0, loop:Boolean = true, name:String, showWarn:Boolean = true):void

开始播放动画。play(...)方法被设计为在创建实例后的任何时候都可以被调用,当相应的资源加载完毕、调用动画帧填充方法(set frames)或者将实例显示在舞台上时,会判断是否正在播放中,如果是,则进行播放。

配合wrapMode属性,可设置动画播放顺序类型。

Parameters

start:* (default = 0) — (可选)指定动画播放开始的索引(int)或帧标签(String)。帧标签可以通过addLabel(...)和removeLabel(...)进行添加和删除。
 
loop:Boolean (default = true) — (可选)是否循环播放。
 
name:String — (可选)动画名称。
 
showWarn:Boolean (default = true)

removeLabel()method 
public function removeLabel(label:String):void

删除指定的帧标签。

Parameters

label:String — 帧标签名称。注意:如果为空,则删除所有帧标签!

stop()method 
public function stop():void

停止动画播放。

Event Detail
complete Event
Event Object Type: laya.events.Event
Event.type property = Event.COMPLETE

动画播放完毕后调度。

label Event  
Event Object Type: laya.events.Event
Event.type property = Event.LABEL

播放到某标签后调度。

Constant Detail
WRAP_PINGPONGConstant
public static const WRAP_PINGPONG:int = 2

动画播放顺序类型:pingpong播放(当按指定顺序播放完结尾后,如果继续播发,则会改变播放顺序)。

WRAP_POSITIVEConstant 
public static const WRAP_POSITIVE:int = 0

动画播放顺序类型:正序播放。

WRAP_REVERSEConstant 
public static const WRAP_REVERSE:int = 1

动画播放顺序类型:逆序播放。