Adob​​e Edge Animate:如何获取Symbol的当前时间?

问题描述:

在Adobe Edge Animate中,如何获取Symbol的当前时间?Adob​​e Edge Animate:如何获取Symbol的当前时间?

我使用jQuery &的Adobe Edge代码来编程我的页面。我想检查符号的时间是否停留在第一帧(如果在Flash的概念中)。

$(window).scroll(function(e) 
{ 
    var the_stage = $.Edge.getComposition("EDGE-123456").getStage(); 
    var sym = the_stage.getSymbol(id); 
    // how to get current time ? 
}); 

终于找到了解决办法。要获取当前时间,请使用:

var pos = sym.getPosition() 

pos是一个整数。如果符号之前没有播放过,则其值为-1,否则以毫秒为单位。

您的解决方案没问题,但需要澄清。

如果你的动画是“内部”的div:

<div id="stage_animation_0" class="animation_0"></div> 

我建议用“stage_” +类名“animation_” +动画号和ID属性名称类属性。

GET

您可以获取实际的时间表位置以这样的方式

var getAnimationPos = function(animation) {  
    var stage = $.Edge.getComposition(animation).getStage(); 
    var sym = stage.getSymbol("stage_" + animation); 
    return sym.getPosition(); 
} 

这样你可以得到你的时间表位置:

var position = getAnimationPos("animation_0"); 

SET

设置实际的时间轴位置更“复杂”。

如果您的播放动画时,你要跳转到一个特定的位置:

var jumpPosition = 300; /* expressed in milliseconds */ 
$.Edge.getComposition(animation).getStage().play(jumpPosition); 

如果你的动画被暂停,并要设置位置不玩,你必须:

var jumpPosition = 300; /* expressed in milliseconds */ 
$.Edge.getComposition(animation).getStage().stop(jumpPosition); 

这样,当你打电话播放()时,动画将从位置300开始。