Adobe Edge Animate:如何获取Symbol的当前时间?
问题描述:
在Adobe Edge Animate中,如何获取Symbol的当前时间?Adobe 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开始。