突然看到Flash即将停止维护退出历史舞台的新闻,想起了从高中时代开始,就听说过flash能做动画,当时心心念念想自己做个帅气的动画,就专门跑去电脑城买了Macromedia Flash的光盘,光盘上还印着“闪客”的字样。但当时还是太天真了,不知道Flash只是个工具,想做出动画还需要很多相关知识,无奈只好放弃,做动画也从此成了我的一个小心愿。
最近重新研究了一下现代动画的制作方式,发现Adobe Animate CC就是Flash的替代产品,可以直接导出Canvas在Web中使用,Createjs也成了替代ActionScript3的脚本库。
本文将介绍Createjs与Adobe Animate CC的协作开发方式,对于无Flash基础的前端人员,建议先了解下Flash基础后再阅读本文。
舞台
打开AN,设置舞台的大小为 7501206,为什么不是7501334呢?因为微信浏览器的标题栏大小是128,所以1334-128=1206。
自适应
1 | <!-- 修改viewport全局缩放 --> |
1 | /** |
1 | /** |
面向对象 与 类链接的使用
1 | /** |
使用面向对象的方式去调用cjs的方法:ss.content.gotoAndStop(1)
使用最简类链接的方式调用cjs的方法:ss.gotoAndStop(1)
Uncaught TypeError: Cannot read property 'getNumFrames' of undefined
这个错误是因为图片文件没有加载成功。
快速使用类链接: var loadingView= new lib.view1();
,实例化后的MC并没有没有插入舞台
mc 拖入舞台,可以使用实例名称,未拖入舞台,使用类链接
mc 实例名称: 在mc属性栏
new lib.view1().content.loadingBar.gotoAndStop(Math.floor(event.progress*99))
类链接的mc通过代码加入场景
1 | var stage= new createjs.Stage(this.opts.canvas); |
createjs与AN之间的通信方式
在AN的帧上加入动作脚本dispatchEvent
1 | data.type= "mc" |
在JS中
1 | var data={}; |
或者:
1 | /** |