2013-02-20 3 views
4

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 ? 
}); 

답변

6

마지막으로 해결책을 찾았습니다. 현재 시간을 얻기 위해 사용

var pos = sym.getPosition() 

pos는 정수입니다. 기호가 이전에 재생되지 않은 경우 해당 값은 -1이고 그렇지 않은 경우 밀리 초 단위의 위치입니다.

2

해결책은 괜찮지 만, 설명이 필요합니다. 애니메이션은 "내부"사업부 인 경우

는 :

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

나는 "stage_"+ 클래스 명 "animation_"+ 애니메이션 번호와 ID 속성을 가진 이름의 클래스 속성에 좋습니다.

var position = getAnimationPos("animation_0"); 

설정

설정 : 당신과 함께 타임 라인 위치를 얻을 수있는이 방법으로

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

:

당신은 이런 식으로 실제 타임 라인 위치를 얻을 수 있습니다

을 GET 실제 타임 라인 위치는보다 복잡합니다.

하면 애니메이션이 재생되고 특정 위치로 이동하려면 :

애니메이션이 일시 정지 및 재생하지 않고 위치를 설정하려는 경우, 당신은
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부터 시작합니다.

관련 문제