LayaAir引擎学习经历

  由于公司任务安排,需要笔者先去了解一下LayaAir引擎库,以用来完成公司将要启动的大数据可视化项目,需要借助LayaAir引擎实现复杂的动画。笔者花两天时间将LayaAir引擎的技术文档浏览了一遍,有了一个大致的印象。
  LayaAir是一个轻量级、易上手的游戏引擎库,支持ActionScript3、TypeScript、JavaScript三种语言进行开发。同时他能够支持2D,3D,VR ,AR,时间轴动画,缓动、UI系统、粒子动画、骨骼动画、物理系统等动画构建。
LayaAir官网

个人心得:

  大致浏览了一下技术文档,总的来说,JavaScript来开发,编码API学习上并没有太大难度,LayaAir引擎封装了在动画制作中需要的各种组件,直接引用就可以了,不过对于笔者这种代码开发人员,他的动画制作就有点不太友好了。
  短时间的学习,让笔者感觉,使用这个引擎库,更像是用简单的代码,去调用复杂的动画。动画的制作难度高于代码的编写。

LayaAir IDE:

  这个IDE是引擎推荐编辑器,感觉跟VSCode很相似,包含整个游戏制作流程的便利功能,包括:

  • 代码开发
  • UI编辑器
  • 粒子编辑器
  • 时间轴动画
  • 场景编辑器
  • 3D支持
  • 脚本扩展
  • 预设
  • APP打包
  • Flash发布
  • JS混淆与压缩
  • 第三方工具链转换工具(SWF、Unity3D、3Dmax、TiledMap、Spine、龙骨……)


    LayaAir IDE界面

For Example:

  1. 首先说基本的文本创建。
//初始化引擎
Laya.init(1136,640);
var txt = new Laya.Text();
//设置文本内容
txt.text = "hello_world";
//设置文本颜色
txt.color = "#ffffff";
Laya.stage.addChild(txt);

  利用Laya.init(width,height)创建舞台或者说画板,参数是舞台的宽高度,然后构建文本对象,设置对象属性,详细可以参考API。最后将构建好的文本对象加入舞台让他显示出来。
  从文本创建我们可以看到,我们将舞台构建后,可以任意的想舞台上添加我们构建好的元素,让我在JS开发中有了一种面向对象开发的感觉。

  1. 矢量图的绘制
      LayaAir引擎提供矢量图的绘制API,可以绘制直线、折线、曲线、图形等等。
(function()
{
    var Sprite = Laya.Sprite;
    var Stage  = Laya.Stage;
    var WebGL  = Laya.WebGL;
    var sp;
    (function()
    {
        //初始化舞台
        Laya.init(500, 300, WebGL);
        drawSomething();
    })();
    function drawSomething()
    {
        sp = new Sprite();
        Laya.stage.addChild(sp);
        //画直线
        sp.graphics.drawLine(10, 58, 167, 58, "#ff0000", 5);
    }
})();

  出去上述代码实现方式外,我们还可以使用LayaAir IDE的设计模式去绘制。

设计模式界面

  绘制完成后,绘制文件会在我们../laya/page目录下,我们可以直接引用绘制文件。

  1. 然后我们说最主要内容——动画。笔者大概关注了图集动画,缓动动画,时间轴动画。
  • 图集动画:将图片做成图片集,然后按顺序播放,常用语游戏人物行走,攻击,死亡等动画的制作。在代码中通过laya.display.Animation类加载。
  • 缓动动画:利用Laya.Tween去加载缓动动画,常用语游戏中道具放入背包,对话框弹出关闭等,提升游戏UI体验的重要因素之一。
  • 时间轴动画: 这个厉害了,在笔者看来,复杂动画都需要搞他完成,他跟Android 的补间动画一样,不过他是像制作Flash一样按帧制作。


    时间轴动画制作页
  1. LayaAir引擎还封装了通络通信(基于XMLHTTPRequest)、WebSocket发送与接收数据、JSONP跨域读取数据等。

首次学习后存在问题:

  1. 这个不太适合前端开发和Native开发快速上手,他更适合动画专业的同学去使用。
  2. 如果在我们可视化项目中引入它的技术,只能解决动画的问题,页面的开发还是得用常规的H5开发去完成。
  3. 如何将通过该引擎技术完成的动画页面与常规H5页面结合,现在还比较模糊。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352

推荐阅读更多精彩内容