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

评论

5条评论
  1. Gravatar 头像

    匿名 回复

    楼主能出一个交互测试题的demo吗?

  2. Gravatar 头像

    丫丫 回复

    大神你好,我下载的是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.
    请赐教

    • Gravatar 头像

      匿名 回复

      @丫丫 我也有这个问题,求大神赐教

    • Gravatar 头像

      ajex 回复

      @丫丫 加载素材出问题了 请模仿anCC默认导出的html格式

发表评论

电子邮件地址不会被公开。