본문 바로가기
배워보자!!/플래시

[flash as3.0] 플래시 좌우롤링배너 만들기 type1

by norinda 2015. 4. 3.
728x90


main.as


temp.fla




간단한 단추형 버튼에 좌우 롤링되는 배너를 만들어봤습니다..

무한으로 반복되지는않고 좌우로만 반복됩니다.

5장의 사진을 무비클립 각 프레임에 차례대로 넣고 순서대로 정렬해서 롤링하는 방식입니다.

예를들어 A라는 무비클립에 5개의 사진을 정렬시키고 A자체를 좌우로 움직여 주셔도 됩니다.


버튼을 클릭하지 않아도 자동으로 일정시간이 지나면 좌우로 롤릴되게 만들어보세요~


package  
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
import fl.transitions.Tween;
import fl.transitions.easing.*;
public class main extends MovieClip
{
private var totalNum:int = 5;//총이미지수입니다.
private var currentImgNum:int=0;//가운데 정렬된 이미지 번호
private var imgArr:Array = new Array();
private var btArr:Array = new Array();
private var centerX:int;
private var imgXgap:int=200;//이미지간의 간격입니다.
public function main() 
{
init();
}
private function init():void
{
var i:int;
for(i=0; i<totalNum; i++)
{
var btMc:MovieClip;
var imgMc:MovieClip;
btMc = new button() as MovieClip;
imgMc = new img() as MovieClip;
imgArr.push(imgMc);
btArr.push(btMc);
btMc.myNum=i;
centerX = (stage.stageWidth-imgMc.width)/2;//선택된 이미지 가운데 정렬 수치
imgMc.gotoAndStop(i+1);
imgMc.x = (centerX)+(imgXgap*i); //초기 정렬될 이미지 x좌표
imgMc.y = (stage.stageHeight-imgMc.height)/2; //화면 중단 정렬입니다.
addChild(imgMc);
addChild(btMc);
if(i==currentImgNum)
{
btMc.gotoAndStop(1);
}else
{
btMc.gotoAndStop(2);
}
btMc.buttonMode = true;
btMc.addEventListener(MouseEvent.CLICK , btClickHandler);
                                //버튼의 위치 정렬입니다.
btMc.y = 20; 
btMc.x = 230+(i*20);
}
}
private function btClickHandler(e:MouseEvent):void
{
var i:int;
currentImgNum = e.currentTarget.myNum;//현재이미지순서변경
for(i=0; i<totalNum; i++)
{
if(i==currentImgNum)
{
btArr[i].gotoAndStop(1);
}else
{
btArr[i].gotoAndStop(2);//클릭된 버튼의 프레임 이동
}
}
imgChange();
}
private function imgChange():void
{
var i:int;
var targetX:int;
for(i=0; i<totalNum; i++)
{
targetX = (centerX)+(imgXgap*(i-currentImgNum)); //선택된 이미지가 가운데로 오게 이미지 정렬 x좌표
new Tween(imgArr[i], "x", Elastic.easeOut, imgArr[i].x, targetX, 2.5, true);
}
}
}
}


반응형

댓글