삼각함수
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;
'코딩공부 > Action Script 3.0' 카테고리의 다른 글
무비클립을 클래스로 등록하여 제어하기 (0) | 2015.02.27 |
---|---|
클래스 생성,규칙과 상속 관계 개념 (0) | 2015.02.27 |
마우스를 따라 움직이는 물고기 예제 (0) | 2015.02.25 |
상속관계 개념 ( bitmap 을 화면에 뿌리고 pixel 값을 출력하는예제 ) (0) | 2015.02.25 |
지역변수, 매개변수, 전역변수 개념 (0) | 2015.02.24 |