Adobe Edge Animate:如何获得Symbol的当前时间?

时间:2013-02-20 07:45:10

标签: adobe-edge

在Adobe Edge Animate中,如何获取符号的当前时间?

我使用jQuery和amp; 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 ?
});

2 个答案:

答案 0 :(得分:6)

终于找到了解决方案。要获得当前时间,请使用:

var pos = sym.getPosition()

pos是一个整数。如果符号之前未播放过,则其值为 -1 ,否则为毫秒级别。

答案 1 :(得分:2)

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

如果您的动画是"内部" div:

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

我建议使用&#34; animation _&#34;命名类属性。 +动画编号和id属性,使用&#34; stage _&#34; +班级名称。

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

设置实际时间轴位置更复杂&#34;。

如果您的动画正在播放并且您想要跳转到特定位置:

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

如果您的动画暂停,并且您想要在没有游戏的情况下设置位置,则必须:

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

这样,当您调用play()时,动画将从位置300开始。