Adobe Edge如何通过代码禁用自动播放?

时间:2015-06-22 11:21:23

标签: javascript events adobe-edge

我有一个默认自动播放的Adobe Edge动画。

有没有办法通过javascript代码禁用或阻止自动播放?

例如,在使用json.dumps(your_string, ensure_ascii=False) 加载合成时传递一些选项,或者设置一些会执行此操作的事件侦听器?

P.S。我无法在Adobe Edge中编辑动画本身

1 个答案:

答案 0 :(得分:1)

我通过添加compositionReady侦听器解决了这个问题。此事件发生在自动播放之前,因此我可以影响动画的自动播放设置。

我在调用AdobeEdge.loadComposition()后将代码放在右下方。此处的超时设置为2000毫秒。该解决方案适用于具有子符号的动画(使用sym.ci,其中包含对子符号的引用)。

AdobeEdge.bootstrapCallback(function(compId){
    AdobeEdge.Symbol.bindElementAction(compId, 'stage', 'document', 'compositionReady', function(sym, e){
        sym.stopAll(-1, false);
        sym.setAutoPlay(false);
        if (sym.ci) {
            for(var i = 0; i < sym.ci.length; ++i) {
                sym.ci[i].setAutoPlay(false);
            }
        }
        var playDelay = setTimeout(function(){
            sym.playAll();
        }, 2000);
    });
});