[플래시 AS2] 일정시간 멈춰있는 액션스크립트

 
액션스크립트(ActionScript)는 전문가만 사용하는 것이 아니라, 일반적인 모션그래픽을 구현하기 위해서도 액션스크립트를 많이 활용한다. 아니 활용할 수 있어야지만, 원할한 모션그래픽을 완성할 수 있다고 본다. 

이번에 소개할 내용은  액션스크립트 1.x/2.x에서 활용할 수 있는 간단한 스크립트로 타임라인상에서 일정한 시간이 멈춘후 다른 액션을 수행할 수 있도록 하는 내용으로, 일반적으로 모션그래픽효과에서 사용하면, 상단한 작업시간 단축 및 효과적인 시간관리가 용이하다고 생각한다.

활용 및 사용 방법은 간단하며, 별 어럽움 없이 응용및 활용할 수 있을 것이다.

아래 코드를 원하는 프레임에 키를 생성시키고, 복사해서 붙여넣기

stop();

SeoGDTime = getTimer();
d_Time = 3000; //멈춰있을 시간 지정 1000 = 1초
EndTime = SeoGDTime + d_Time;

this.onEnterFrame=function(){
     if (getTimer() >= EndTime){
          play();     //일정시간이 흐른후 일어날 이벤트
          delete this.onEnterFrame;     //EnterFrame 정보삭제
     }
}


새롭게 레이어를 하나 추가해서 원하는 프레임에 키프레임을 추가(F6)하고, F9번키를 눌러 ActionScript창을 열어서 위 코드를 붙여넣으면 된다.


간단하게 코드를 설명한다면

d_Time = 3000;
d_Time 변수에 멈춰있을 시간을 지정한다. 1000 = 1초의 값을 가짐으로 5초동안 멈춰있기를 원한다면, 5000이라는 값을 입력하면 된다.


if (getTimer() >= EndTime){
     play(); //일정시간이 흐른후 일어날 이벤트
     delete this.onEnterFrame; //EnterFrame 정보삭제
}
if문은 현재 시간과 멈춰있을 시간을 체크한다. 현재시간이 멈춰있을 시간보다 크거나 같으면, 참의 역활을 수행하는 내용이다. 

play(); 은 if문이 참이면, 동작하는 액션이다. 샘플 내용은 이미지 페이드 인/아웃 효과를 이용한 이미지 롤링이기 때문에 현재 프레임에 정지했다가, 시간이 되면 다음프레임으로 플레이 시키도록 하였지만, 이부분은 사용자가 적절하게 변경해서 사용할 수 있는 부분이다.
참 많고 다양한 형태의 액션을 부여할 수 있다.^^


위의 잠시 멈춤 액션스크립트를 이용해서 적용한 결과물을 단순한 결과물 확인


원본 파일이 필요하시다면, 아래 소스를 다운 받아 보시면 된다. Flash CS3로 작업되어 있으며, 사용되어진 이미지는 무단사용을 금지한다.


마무리 하며

크게 CPU 부담없이 사용할 수 있는 간단한 액션스크립트 소스이다. 화려하지는 않치만, 간단하게 모션그래픽을 표현하고자 한다면, 많은 곳에서 유용하게 사용될 수 있는 코드를 적절하게 응용할 수 있기를 바란다.
부가적으로 더 필요한 내용이라든가, 잘못된 점이 있다면, 댓글을 이용해 주시면 참 감사하겠습니다.^^

Comments 4