본문 바로가기

prev record

[2010.05.21.금요일] ease-out

private var _easeOut:Number = 0.3;
private var _reachX:Number = 0.5;
private var _reachY:Number = 0.5;

var l_xDistance:Number = mouseX - stage.stageWidth * 0.5;
var l_yDistance:Number = mouseY - stage.stageHeight * 0.5;

object.x += (l_xDistance - object.x * _reachX) * _easeOut;
object.y += (l_xDistance - object.y * _reachY) * _easeOut;



위 식을 enterFrame 이벤트로 적용시키면 스테이지 중앙에서 마우스의 위치의 간격만큼 object가 처음에 빠르게 움직이다가 서서히 움직인다. 마우스를 움직이지 않으면 서서히 멈추게 된다.

_reachX와 _reachY의 값이 커질수록 움직여야할 지점에 빨리 도달한다. 

_easeOut의 값이 커질수록 빨리 멈추게 된다. 

위 식을 잘 활용하면  많이 도움이 될 것 같다.