LayaAir之动画(动画基础)
admin
2023-02-17 02:20:01
0

一 : 准备素材

将素材放入laya/assets目录中.本人新建一个animation文件夹专门放动画素材.如下图所示:
LayaAir之动画(动画基础)

二 : 开始制作动画

Ⅰ, GraphicAnimation动画
①右击Scenes -> 新建 -> 动画 , 打开新建对话框
LayaAir之动画(动画基础)
②设置动画类型为GraphicAnimation,名称为boy,如下图所示:
LayaAir之动画(动画基础)

③点击确认会在Scenes中生成boy.ani文件,我将其放入移入了animation文件夹中.启动时间轴的"动画编辑模式",这样就可以编辑动画了.如下图所示:
LayaAir之动画(动画基础)
④修改动画的动效名称为:demo,如下图所示:
LayaAir之动画(动画基础)
⑤将boy资源文件夹拖动到时间轴上,可制作一个逐帧动画,在第一帧重新定义一下x,y值,以确保动画的中心点在boy的脚下,如下图所示:
LayaAir之动画(动画基础)
⑥导出动画资源(以图集形式) :如下图所示:
LayaAir之动画(动画基础)
在bin/res/atlas/animation下生成了动画文件(这个laya文件夹有一种对应的关系):
LayaAir之动画(动画基础)

三:显示动画(TS代码)

①核心:

        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;
                    }
        }

结果:
LayaAir之动画(动画基础)
②扩展
1'加入Label标签:
LayaAir之动画(动画基础)
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;
            }
    }

结果:
LayaAir之动画(动画基础)

~~~动画显示::::
LayaAir之动画(动画基础)

相关内容

热门资讯

不规范视频会议可能造成敏感信息... 国家安全部今天发布安全提示文章。视频会议系统能够打破时空限制,高效又便捷,逐渐成为大家沟通工作、传递...
伊朗总统办公室主任:总统与革命... 新华社德黑兰5月5日电(记者陈霄 沙达提) 据伊朗塔斯尼姆通讯社5日报道,伊朗总统办公室主任哈吉·米...
人民日报:任何企图否定东京审判... 原标题:捍卫历史正义 维护国际秩序——写在东京审判开庭80周年之际钟 佳 黄惠康 《人民日报》(20...
中学生进大厂体验:1个月拿了1... 中学生进大厂体验:1个月拿了1.5万  【中学生进大厂体验:1个月拿了1.5万】2024年年初,19...
多位省委书记省长会见王传福 从... 多位省委书记省长会见王传福  【多位省委书记省长会见王传福】4月27日,河南省委书记刘宁在郑州会见比...
上海汇正财经服务费能退吗?震荡...   部分投资者关心上海汇正财经服务费能退吗,但在二季度A股震荡加剧、地缘与油价双重扰动的复杂环境下,...
市场稀缺权益来袭!从全球急难救...   现在信用卡的功能越来越细化,也越来越人性化了,比如平安银行信用卡新推出的以“一生守护 十分平安”...
美官员:美商船穿越霍尔木兹海峡... 当地时间5月5日,央视记者获悉,两艘搭载美军安全队员的美国商船在通过霍尔木兹海峡期间曾遭伊朗袭击。美...
日本参议员:对俄制裁损害日本国... 正在俄罗斯访问的日本国会参议员铃木宗男5月5日对媒体表示,日本对俄制裁同样损害了日本国家利益。铃木说...
美国务卿称美国正推进对伊朗“极... △美国国务卿鲁比奥(资料图)当地时间5月5日,美国国务卿鲁比奥在媒体简报会上称,美军正在霍尔木兹海峡...