Adobe Edge 如何通过代码禁用自动播放?
Adobe Edge how to disable auto play by code?
我有一个默认自动播放的 Adobe Edge 动画。
有没有办法通过 javascript 代码禁用或阻止自动播放?
例如,在使用 AdobeEdge.loadComposition()
加载组合时传递一些选项,或者通过设置一些事件侦听器来执行此操作?
P.S。我无法在 Adobe Edge
中编辑动画本身
我已经通过添加 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);
});
});
我有一个默认自动播放的 Adobe Edge 动画。
有没有办法通过 javascript 代码禁用或阻止自动播放?
例如,在使用 AdobeEdge.loadComposition()
加载组合时传递一些选项,或者通过设置一些事件侦听器来执行此操作?
P.S。我无法在 Adobe Edge
中编辑动画本身我已经通过添加 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);
});
});