프레임 모션에 easing 적용하기

Programming/ActionScript 2.0 2007. 2. 21. 10:56
보통 프레임간 이동할 시에는 사용할 클래스를 따로 제작을 하여 사용을 합니다. 저도 GotoPlay.as dynamic class를 만들어서 필요할때마다 사용을 하곤 합니다. 오늘 Tween 클래스를 가지고 놀다가 Tween클래스를 사용하여 프레임 모션에 에싱을 줄수 없을까 생각해 봤습니다. _currentframe 속성의 경우는 read-only 속성이기 때문에 값을 넣을 수가 없어서 Tween 클래스에서 무비클립의 속성으로 사용하여 에싱을 줄 수는 없습니다. 그래서 무비클립에 하나의 변수를 만들어 그것을 통해서 제어를 하도록 해봤습니다.








[Flash] http://jasu.tistory.com/attachment/cfile22.uf@232CFD385880209E219C15.swf


import mx.transitions.Tween;
import mx.transitions.easing.*;

mc._frame = mc._currentframe;
var myTween:Tween = new Tween(mc, "_frame", Strong.easeOut, mc._currentframe, 235, 1, true);
myTween.onMotionChanged = function() {
        mc.gotoAndStop(Math.round(mc._frame));
};
myTween.onMotionFinished = function() {
        this.yoyo();
};

mc라는 무비클립이 있고 그 안에 무비클립을 235 프레임까지 모션을 적용합니다. 엑션을 통한 모션처럼 자연스러운 모션을 적용하기 위해서는 프레임을 많이 필요로 합니다.(프레임간 이동 간격을 통해 esaing이 적용되기 때문)

프레임에 png 동영상 컷들을 넣고 스크롤바를 통해서 원하는 지점으로 이동할 때 프레임에 easing을 넣으면 괜찮을 것 같네요...^^

    

설정

트랙백

댓글