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之动画(动画基础)

相关内容

热门资讯

安徽一高标准农田电机出水异常,... 近日,安徽省淮北市濉溪县百善镇丁楼村村民向《都市现场》爆料称:村里2023年建成的高标准农田配套电机...
河北一演唱会音响“翻车”,人声... 近日,来自北京的庞女士向都市现场记者反映,她7月11日在河北唐山观看“青春超燃巨星演唱会”时遭遇了极...
尺素金声|中国经济“失速论”站... 一季度GDP同比增长5.0%、二季度增长4.3%、上半年增长4.7%,2026年中国经济半年报发布后...
NVIDIA最深的护城河要凉!... 7月24日消息,AMD在Advancing AI预简报会上表示,CUDA已不再是外界想象中的那条护城...
廖杰远:三大智能体协同闭环,A... 中国日报网7月24日电 7月22日,在2026年世界互联网大会数字丝路发展论坛数智健康分论坛上,微医...
AI时代构筑超级底座 维谛技术... 文/本报记者 当前,人工智能产业竞争持续向产业链上游延伸,算力竞争早已不再局限于计算芯片性能比拼。具...
刚签核协议不到24小时,美国突... 美国东部时间7月22日下午,美国宣布与沙特阿拉伯签署了一项民用核能协议。据美国有线电视新闻网(CNN...
中国信通院牵头,数据编织国际标... IT之家 7 月 24 日消息,中国信通院今日发文称,国际电信联盟第 21 研究组(ITU-T SG...
国内首颗商业空间碎片监测卫星发... 【国内首颗商业空间碎片监测卫星发射成功】《科创板日报》24日讯,7月24日上午,中科宇航力箭一号运载...
邓煜,诗人,数学家,老二次元 来源 视觉中国菲尔兹奖的通知邮件抵达时,普林斯顿大学数学博士、芝加哥大学数学系教授邓煜正在看一本恋爱...