【问题标题】:Why does exportRoot not place movieclip on canvas using createjs and animate cc?为什么 exportRoot 不使用 createjs 和 animate cc 将影片剪辑放在画布上?
【发布时间】:2018-01-03 18:53:48
【问题描述】:

我在库中创建了一个名为 firework_mc 的影片剪辑,并编写了以下代码希望将其放置在画布上:

var movieClip = exportRoot.firework_mc.play();
movieClip.x=100;
movieClip.y=100;

我希望这会奏效,但显然不行。关于如何将其放置在画布上的任何其他想法?

【问题讨论】:

    标签: javascript canvas createjs animate-cc


    【解决方案1】:

    play 方法does not return a MovieClip instance。所以你的 movieclip 实例为空。

    你应该可以这样做:

    var movieclip = exportRoot.firework_mc;
    movieclip.play();
    movieclip.x = 100;
    movieclip.y = 100;
    

    Animate 导出存在一些问题,即无法立即控制子级。您通常可以通过预先设置 gotoAndStop 来解决此问题。

    exportRoot.gotoAndStop(0);
    // Then your code.
    

    这仅在firework_mc 是exportRoot 的子级(即在Animate 中的舞台上)时才有效。如果不是,您可以在动画库中访问它:

    var movieclip = new lib.firework_mc();
    stage.addChild(movieclip);
    // Or
    exportRoot.addChild(movieclip);
    

    干杯,

    【讨论】:

    • 我尝试了以下代码: var movieclip = new lib.firework_mc(); stage.addChild(movieclip);电影剪辑.x = 100;电影剪辑.y = 100;但它出现错误 TypeError: undefined is not a constructor (evalating 'new lib.firework_mc()')
    • 我的示例假设库中有一个名为“firework_mc”的符号。
    猜你喜欢
    • 2019-01-22
    • 1970-01-01
    • 2016-06-23
    • 2019-06-29
    • 1970-01-01
    • 2019-07-02
    • 2015-03-03
    • 2016-08-23
    • 1970-01-01
    相关资源
    最近更新 更多