GCAnimation 动画 显示对象
-- 支持绑定目标,可以区分动画层添加到目标层的上方或下方
-- 目标效果支持叠加
使用方法:
var a = new GCAnimation();
a.id = 5;
stage.addChild(a);
绑定目标,由于可以区分添加到目标层的上方或下方,需要有lowLayer和highLayer
var a = new GCAnimation();
a.id = 5;
a.addToGameSprite(target,lowLayer,highLayer);
相关事件
EventObject.LOADED 资源加载完成时候事件
GCAnimation.RENDER 动画播放时派发的事件
GCAnimation.PLAY_START 动画播放开始事件
GCAnimation.PLAY_STOP 动画停止时事件
GCAnimation.PLAY_COMPLETED 动画播放完成时事件
GCAnimation.SIGNAL 信号事件
关于鼠标事件点击区域:当注册了鼠标事件后,系统会根据当前帧的实际子显示对象自动判断鼠标可响应区域
维护人员:黑暗之神KDS、feng
创建时间:2019-02-22
继承 →GameSprite
子类 无
Public 属性
属性 |
---|
RENDER : string; 静态事件:执行 onRender 时派发的事件 |
PLAY_START : string; 静态事件:动画播放开始事件 |
PLAY_STOP : string; 静态事件:动画停止时事件 |
PLAY_COMPLETED : string; 静态事件:动画播放完成事件,非循环播放的动画播放完毕后派发 |
SIGNAL : string; 静态事件:信号事件 |
id : number; 动画ID |
syncLoadWhenAssetExist : boolean; 是否同步加载,当资源存在时,当前帧则立刻显示 |
prerender : boolean; 预渲染:开启此项保证在派发EventObject.LOADED前预先渲染一次以便保证此后能够立即呈现画面,不会因为资源较大而首次渲染卡顿一下 |
fps : number; 频率,默认值=Config.ANIMATION_FPS |
silentMode : boolean; 禁音模式:播放该动画时忽略音效的播放 默认值=false |
sceneObject : ClientSceneObject; 绑定场景对象,会根据该对象与镜头中心点的距离影响声音更大 |
offsetX : number; 水平偏移量,如果存在的话则水平偏移offsetX像素 |
offsetY : number; 垂直偏移量,如果存在的话则水平偏移offsetY像素 |
preAnimationLowLayers : GameSprite; 预设层:比目标层更低的层次 |
preAnimationHighLayers : GameSprite; 预设层:比目标层更高的层次 |
showHitEffect : boolean; 是否显示命中效果:编辑器中允许对动画层勾选“仅命中时显示”,开启此项将显示包含仅在命中时出现的动画层 |
currentFrame : number; 当前帧:获取和设置当前帧 |
loop : boolean; 当前播放的动画是否循环 默认值=false |
isPlaying : boolean; 只读是否正在播放中 |
isLoading : boolean; 只读获取是否处于加载中 |
target : GameSprite; 目标对象:动画的目标效果的作用目标。 |
totalFrame : number; 只读动画总帧数 |
isParticle : boolean; 只读是否是粒子动画 |
refObjs : 只读辅助体 |
Public 方法
方法 |
---|
addToGameSprite(target : GameSprite, lowLayer : Sprite, highLayer : Sprite): void 添加到显示对象,同时可以将一部分动画层在目标下方显示,一部分动画层在目标上方显示,并支持目标效果 |
removeFromGameSprite(): void 移除动画绑定,addToGameSprite后可使用该函数进行清理 |
gotoAndPlay(frame? : number): void 跳转某帧进行播放,越界会自动取模(如帧长度10,播放13则是播放3) |
play(): void 在当前帧数开始播放 |
stop(frame? : number): void 停止动画 |
详情
RENDER
RENDER : string;
静态事件:执行 onRender 时派发的事件
var ani = new GCAnimation();
ani.id = 1;
ani.on(GCAnimation.RENDER,this,()=>{
// to do
});
PLAY_START
PLAY_START : string;
静态事件:动画播放开始事件
var ani = new GCAnimation();
ani.id = 1;
ani.on(GCAnimation.PLAY_START,this,()=>{
// to do
});
PLAY_STOP
PLAY_STOP : string;
静态事件:动画停止时事件
var ani = new GCAnimation();
ani.id = 1;
ani.on(GCAnimation.PLAY_STOP,this,()=>{
// to do
});
PLAY_COMPLETED
PLAY_COMPLETED : string;
静态事件:动画播放完成事件,非循环播放的动画播放完毕后派发
var ani = new GCAnimation();
ani.id = 1;
ani.on(GCAnimation.PLAY_COMPLETED,this,()=>{
// to do
});
SIGNAL
SIGNAL : string;
静态事件:信号事件
动画编辑器中可以自定义信号,设定经过哪个关键帧后抛出
var ani = new GCAnimation();
ani.id = 1;
ani.on(GCAnimation.SIGNAL,this,(signalID:number)=>{
// to do
});
syncLoadWhenAssetExist
syncLoadWhenAssetExist : boolean;
是否同步加载,当资源存在时,当前帧则立刻显示
为了确保能够监听到EventObject.LOADED事件,建议在设置id之前监听该事件
prerender
prerender : boolean;
预渲染:开启此项保证在派发EventObject.LOADED前预先渲染一次以便保证此后能够立即呈现画面,不会因为资源较大而首次渲染卡顿一下
预渲染会消耗一定的性能,可以选择在动画资源较大较多的情况下使用此项,开启此项会有额外的性能和内存开销
showHitEffect
showHitEffect : boolean;
是否显示命中效果:编辑器中允许对动画层勾选“仅命中时显示”,开启此项将显示包含仅在命中时出现的动画层
在播放动画前设置此项
target
target : GameSprite;
目标对象:动画的目标效果的作用目标。
如果需要一部分动画层在目标下方,一部分动画层在目标上方,则可以使用 addToGameSprite 方法
addToGameSprite
addToGameSprite(target : GameSprite, lowLayer : Sprite, highLayer : Sprite): void :
添加到显示对象,同时可以将一部分动画层在目标下方显示,一部分动画层在目标上方显示,并支持目标效果
参数
target 目标对象
lowLayer 动画底层(动画编辑器中低于目标层的显示层次会添加到这里)
highLayer 动画高层(动画编辑器中高于目标层的显示层次会添加到这里)
removeFromGameSprite
removeFromGameSprite(): void :
移除动画绑定,addToGameSprite后可使用该函数进行清理
gotoAndPlay
gotoAndPlay(frame? : number): void :
跳转某帧进行播放,越界会自动取模(如帧长度10,播放13则是播放3)
@frame 可选 默认值=1 跳转到指定的帧数 单位:帧 默认从头开始
play
play(): void :
在当前帧数开始播放
stop
stop(frame? : number): void :
停止动画
参数
frame [可选] 默认值=1 帧动画的情况指定停留的帧数