본문 바로가기

FLASH/AS3.0팁

삼각함수를 이용한 단진동

삼각함수를 이용하면 다양한 것을 할 수 있습니다.

삼각함수의 특징은 일정한 범위 안에서 결과값이 나오는 것입니다.

그래서 사인 파형이라든가, 원운동등을 만들어 낼 수 있습니다.

단진동이라는 것은 일정한 범위내에서 규칙적으로 움직이는 것입니다.

 

다음 공식으로 단진동을 만들어 낼 수 있습니다.

 

cx를 중심으로 -r부터 r까지 단진동의 예를 들면

cx + r * Math.cos(t) 

cx + r * Math.sin(t)  

위의 방법으로 단진동을 구현할 수 있습니다.

 

예제를 볼께요.



삼각함수_1_sin_cos움직임.fla





var t:Number = 0;    

var startPoint:Number = 200; //시작점

var radius:Number = 100;   //반지름


addEventListener(Event.ENTER_FRAME, moveMC)

function moveMC(e){

 mc1.x = startPoint + 100*Math.cos(t);

 mc2.x = startPoint + 100*Math.sin(t);

 t = t + 0.1;

}


 

 

두번째 예제는 x방향을 증가시켜주고 y를 단진동을 주면 사인파형내지 코사인 파형을 그리면서 앞으로 나가는 모션을 만들 수 있습니다.



삼각함수_2_단진동.fla




var t:Number = 0;    

var startPoint:Number = 100; //시작점

var radius:Number = 80;   //반지름

 

addEventListener(Event.ENTER_FRAME, moveMC)

function moveMC(e){

 mc1.x += 2;

 mc1.y = startPoint + 100*Math.cos(t);

 mc2.x += 2;

 mc2.y = startPoint + 100*Math.sin(t);

 if(mc1.x > stage.stageWidth){

  mc1.x = 0;

  mc2.x = 0;

 }

 t += 0.1;

}