it leader


삼각함수 


for( var i :int = 0 ; i <10; i+=0.1)

{

trace( Math.sin(i));                  

}


Math.sin( 값 ) ==> -1부터 1사이의 값이 계속 반복

Math.cos( 값 ) ==> -1부터 1사이의 값이 계속 반복



//Math.sin(값)   ==>  -1부터 1사이의 값이 반복 ( 단진동 )

// 100* Math.sin(값) ==> -100 부터 100사이의 값이 반복


// 200+ 100*Math.sin(t) ==> 200을 중심으로 -100 부터 100까지


//주기  : 원래 상태로 되돌아 오는데 걸리는 시간



/*


x = 500 + 200*Math.sin(t)  ==> 500을 중심으로 -200부터 200까지 반족

x = cx + A * Math.sin(t)   ==> cx 를 중심으로 -A 부터  A 까지!!

// ------------------------------------------------------------------------

x = cx + A * Math.cos(t)

y = cy + A * Math.Sin(t)   => ( cx,cy ) 를 중심으로 반지름  A인 원 운동.

x = cx + A * Math.cos(t)        

y = cy + B * Math.Sin(t)   => ( cx,cy ) 를 중심으로 가로 반경 A, 세로반경 B 인 타원 운동.

// t 값이 2 * Math.PI 변할 때 한바퀴

*/




/*


n : 원의 개수

cx : 원들의중심점 x 좌표

cy : 원들의 중심점 y 좌표

cr : 중심점으로 부터의 반지름 값

tr : target rotation 으로  최초 등장 시 트랜지션하기 위한 반지름 값


t  :  한번 인터랙션 할 때 움직이는 각도

tt :  회전시 부드러운 움직임을 주기위함 임의의 좌표


*/



var cx : int = 275;

var cy : int = 200;


var n : int = 8;


var cr : int = 100;

var tr :  int = 0;


var t : int = - Math.PI;    // 처음 등장시 역회전 하면서 등장

var tt :  int = 0;


var arr: Array = [];


for ( var  i : int = 0; i < n ; i++)

{

var b : Ball = new Ball();

addChild(b);


arr.push(b);


arr[i].x = cx + cr * Math.cos( i / n * 2 * Math.PI - Math.PI /2);            // - Math.PI / 2 공식은 0번 객체가 12시 방향으로 오게 하는 공식

arr[i].y = cy + cr * Math.sin  ( i / n * 2 * Math.PI - Math.PI /2);


b.num_txt.text =String(i);


}


this.addEventListener( Event.ENTER_FRAME, onEnter);


function onEnter ( e: Event) : void

{


for( var  i : int = 0 ; i <n ; i++)

{

var radian : Number = i / n * 2 * Math.PI - Math.PI /2 + t;

var mc : MovieClip = arr[i];


mc.x = cx + cr * Math.cos ( radian);

mc.y = cy + cr * Math.sin  ( radian);


mc.roation = radian * 180 / Math.PI;             //  대상을 바라보게 하는 코드


area_mc. visible = false;


if( area_mc.hitTestObject(mc) ==true)

{

mc.scaleY = mc.scaleX + 0.3*( 2- mc.scaleX);

}else{

mc.scaleY = mc.scaleX + 0.3*(1.mc.scaleX);

}

t = t + 0.3* (tt-t);

cr = cr + 0.3 * (tr -cr );

}


stage.addEventListener ( MouseEvent.MOUSE_WHEEL, onWheel);


function onWheel ( e: MouseEvent ) : void

{

if ( e.delta > 0 )                     // e.delta 는 마우스 휠을 아래 또는 위로 올렸는지를 판단하는 기준, 기본값을 -3 과 3

{

tt += 1/ n * 2 * Math.PI;


}else{

tt -= 1/n * 2 * Math.pi;

}





대상을 바라보게 하는 코드


mc라는 무비클립이 xTarget, yTarget 방향을 바라보게 하는코드



var dx :  Number = xTarget - mc.x;

var dy : Number = yTarget - mc.y;

var radian : Number = Math.atan2 ( dy, dx )  // 보통의 함수수순과 다름


mc.rotation = radian * 180. Math.PI;



profile

it leader

@dev__pixui

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!