★개발자 노트/ActionScript 3.0

위치를 기억하여 돌아가는 롤링

abst 2014. 2. 19. 17:20
반응형

플래시를 열고 사진을 배열한후 무비클립을 만들어 줍니다.

저는 6개의 이미지를 가지고 시작 하도록 하겠습니다.


무비클립의 이름은 btn_0 ~ btn_5 까지 주었습니다.


그다음 롤링 이미지를 할때 두고 싶은 위치와 알파값을 조절해 줍니다.



저는 일단 기본적인 원형위치로 배열을 하였습니다. 동글 동글 돌아라 뒤쪽으로 숨은 아이는 알파값을 0으로 주어 보이지 않도록 할것입니다.



이런 모양이 나왔군요 이제 돌려주면 되겠내요



잘돌아 가내요~ 수고 하셨습니다 ^^






하고 끝나 버리면 안되겠죠??


만드는 방식은 다음과 같습니다.

1 현재무비클립의 위치를 정보를 저장합니다.

2.시간별로 돌려주고 뎁스를 조절합니다.


무지 간단하죠?



var pointArr:Array;
var mcArr:Array;
var timer:Timer = new Timer(1000,1);
var depthArr:Array = [6,4,2,1,3,5];
var pointNum:int = 0;
var tweenFunction:Function = Strong.easeOut
savePoint(6);

function savePoint(n:int):void
{
	pointArr = new Array;
	mcArr = new Array;
	var mc:MovieClip;
	for(var i:int = 0 ; i < n ; i++)
	{
		var arr:Array = new Array;
		mc = this["btn_" + i];
		arr.push(mc.width);
		arr.push(mc.height);
		arr.push(mc.x);
		arr.push(mc.y);
		arr.push(mc.alpha);
		pointArr.push(arr);
		mcArr.push(mc);
	}
	timer.start();
	timer.addEventListener(TimerEvent.TIMER_COMPLETE,timerCompHdl);
}

function timerCompHdl(e:TimerEvent):void
{
	pointNum++;
	timer.start();
	var mc:MovieClip;
	for(var i:int = 0 ; i < pointArr.length ; i++)
	{
		mc = mcArr[i];
		var mcNum:int = (i + pointNum) % pointArr.length;
		var tween:Tween = new Tween(mc,"width",tweenFunction,mc.width,pointArr[mcNum][0],1,true);
		var tween1:Tween = new Tween(mc,"height",tweenFunction,mc.height,pointArr[mcNum][1],1,true);
		var tween2:Tween = new Tween(mc,"x",tweenFunction,mc.x,pointArr[mcNum][2],1,true);
		var tween3:Tween = new Tween(mc,"y",tweenFunction,mc.y,pointArr[mcNum][3],1,true);
		var tween4:Tween = new Tween(mc,"alpha",tweenFunction,mc.alpha,pointArr[mcNum][4],1,true);
		
		this.setChildIndex(mc,this.numChildren - depthArr[mcNum]);
	}
	
}
만드는 방식은 다음과 같습니다.

savePoint(6) 여기서 저장할 무비클립 갯수를 넣어서 세팅하구요 x,y,width,height,alpha 값들을 배열에 저장합니다

var timer:Timer = new Timer(1000,1);
var depthArr:Array = [6,4,2,1,3,5];

tiemr = 돌아갈 시간을 정해 주고요 1000 == 1초 입니다. 천분의1초단위이기 때문에 3초로 한다고 하면 3000이 되는것이지요

depthArr 사진들의 순서가 될 값들입니다. 저는 4번째 무비클립이 제일 위에 올라오도록 되어 있어 4번째에 1을 넣고 첫번째는 6을 넣어서 맨뒤로 가도록 하였습니다.


소스 코드는 직접 입력해 보세요 코드만 복사 해서 넣으시면 import가 안되서 오류날거에요 ㅎㅎㅎ



반응형