animateCC2018及苹果使用animateCC使用须知(必看)
随着animateCC2018出来了,越来越多的人都选择了升级下载,但是近期有童鞋跟我反馈使用animateCC2018打开博客demo运行后会出错,我就赶紧也下了一个看了一下,发现确实使用起来跟2015 2017比起来有变化,大致就是lib,image等参数,需要通过额外函数获取。
这根以前苹果animateCC导出来一样,所以解决方法也一样,我这里放出一段代码
var canvas,stage,lib,comp
function init()
{
canvas = document.getElementById("mainView");
stage = new createjs.StageGL(canvas);
//animateCC2018 或者苹果系统下使用animateCC需以下操作
comp=AdobeAn.getComposition("A4AF20434530DA4BA50E488D27D6013D");
lib=comp.getLibrary();
var loader = new createjs.LoadQueue(true);
loader.addEventListener("fileload", handleFileLoad);
loader.addEventListener("progress",progressHandler);
loader.addEventListener("complete", completeHandler);
loader.loadManifest(lib.properties.manifest);
createjs.Ticker.timingMode = createjs.Ticker.RAF_SYNCHED;
createjs.Ticker.framerate = 35;
createjs.Ticker.addEventListener("tick", stageBreakHandler);
}
function handleFileLoad(event) {
var images=comp.getImages();
if (event.item.type == "image") { images[event.item.id] = event.result; }
}
function progressHandler(event)
{
}
function completeHandler(event)
{
event.currentTarget.removeEventListener("fileload",handleFileLoad);
event.currentTarget.removeEventListener("progress",progressHandler);
event.currentTarget.removeEventListener("complete",completeHandler);
var txt = new lib.txt();
txt.x = 100;
txt.y = 200;
stage.addChild(txt);
}
function stageBreakHandler(event)
{
stage.update();
}
大家可以看到,代码跟过去没啥区别,唯一区别就是过去lib是不需要任何操作就可以拿到的,但是cc2018以后lib需要通过下面代码获取(stagegl代码是本人自己写的,animateCC2018使用的还是普通的stage)
comp=AdobeAn.getComposition("A4AF20434530DA4BA50E488D27D6013D");
lib=comp.getLibrary();
如果有图片,image必须通过 var images=comp.getImages();之后赋值
那getComposition中的key怎么拿到呢,大家可以打开用fla导出的js文件找到。

新的使用方法给大家介绍了,再跟大家讲一下adobe为什么要这么改吧。其实adobe这么改,对项目本身来说是有好处的,之前的animateCC版本,资源要分开加载,就需要多个fla,但是多个fla导出来的js由于lib的命名原因,就容易冲突,所以过去的做法是如果有多个fla就需要在fla中更改命名空间。但是如果换成animateCC2018就不需要了,每个fla导出的js中的key都是单独的,是不存在冲突的。
最后放一下demo的网盘链接:https://pan.baidu.com/s/1mhFNbGO
丫丫
大神你好,我下载的是19版的cc,跟createJS协作总是报Cannot read property 'getNumFrames' of undefined
一直不成功,下载了大神的这个demo也是有报错的Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.
请赐教
匿名
@丫丫 我也有这个问题,求大神赐教
ajex
@丫丫 加载素材出问题了 请模仿anCC默认导出的html格式
匿名
楼主能出一个交互测试题的demo吗?