将素材放入laya/assets目录中.本人新建一个animation文件夹专门放动画素材.如下图所示:
Ⅰ, GraphicAnimation动画
①右击Scenes -> 新建 -> 动画 , 打开新建对话框
②设置动画类型为GraphicAnimation,名称为boy,如下图所示:
③点击确认会在Scenes中生成boy.ani文件,我将其放入移入了animation文件夹中.启动时间轴的"动画编辑模式",这样就可以编辑动画了.如下图所示:
④修改动画的动效名称为:demo,如下图所示:
⑤将boy资源文件夹拖动到时间轴上,可制作一个逐帧动画,在第一帧重新定义一下x,y值,以确保动画的中心点在boy的脚下,如下图所示:
⑥导出动画资源(以图集形式) :如下图所示:
在bin/res/atlas/animation下生成了动画文件(这个laya文件夹有一种对应的关系):
①核心:
this.boy = new Laya.Animation();
// this.boy.loadAtlas("res/atlas/animation/boy.atlas" , Laya.Handler.create(this,this.showBoy));
Laya.loader.load(
"res/atlas/animation/boy.atlas",
Laya.Handler.create(this,this.showBoy),
null,
Laya.Loader.ATLAS
);
private showBoy() : void{
Laya.stage.addChild( this.boy );
this.boy.x = 100;
this.boy.y = 100;
this.boy.loadAnimation("animation/boy.ani");
let $event : Laya.Event = new Laya.Event();
$event.type = Laya.Event.COMPLETE;
this.boy.on( Laya.Event.COMPLETE , this , this.eventHandler, [$event]);
this.boy.play(0,true,"demo");
}
private eventHandler( $e : Laya.Event) : void{
switch($e.type){
case Laya.Event.COMPLETE:
console.log(`boy 动画播放完毕`);
break;
}
}
结果:
②扩展
1'加入Label标签:
2'代码
$event.type = Laya.Event.LABEL;
this.boy.on( Laya.Event.LABEL , this , this.eventHandler,[$event]);
private eventHandler( $e : Laya.Event , $value? : any) : void{
switch($e.type){
case Laya.Event.COMPLETE:
console.log(`boy 动画播放完毕`);
break;
case Laya.Event.LABEL:
console.log(`Lab : ${$value}`);
break;
}
}
结果:
~~~动画显示::::
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。