在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 ?
});
答案 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; +班级名称。
您可以通过以下方式获取实际时间轴位置:
var getAnimationPos = function(animation) {
var stage = $.Edge.getComposition(animation).getStage();
var sym = stage.getSymbol("stage_" + animation);
return sym.getPosition();
}
通过这种方式,您可以通过以下方式获取时间轴位置:
var position = getAnimationPos("animation_0");
设置实际时间轴位置更复杂&#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开始。