기존 있던 롤링배너에서 이미지 클릭시 링크 추가와
이미지 설명 텍스트 모션을 추가했습니다.
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.net.navigateToURL;
import flash.net.URLRequest;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
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;
private var linkUrl:Array=new Array("http://amy82.tistory.com/186","http://amy82.tistory.com/186","http://amy82.tistory.com/186","http://amy82.tistory.com/186","http://amy82.tistory.com/186"); //배열에 5개의 링크를 추가
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;
imgMc.txtMc.a.gotoAndStop(i+1); //텍스트모션의 텍스트 정렬
imgArr.push(imgMc);
btArr.push(btMc);
btMc.myNum=i;
centerX = (stage.stageWidth-imgMc.width)/2;
imgMc.buttonMode = true;
imgMc.gotoAndStop(i+1);
imgMc.x = (centerX)+(imgXgap*i);
imgMc.y = (stage.stageHeight-imgMc.height)/2;
imgMc.addEventListener(MouseEvent.CLICK , imgClickHandler);
addChild(imgMc);
addChild(btMc);
if(i==currentImgNum)
{
btMc.gotoAndStop(1);
}else
{
imgMc.txtMc.gotoAndStop(1); //선택된 이미지 빼고 나머지 텍스트모션 1프레임 정지
btMc.gotoAndStop(2);
}
btMc.buttonMode = true;
btMc.addEventListener(MouseEvent.CLICK , btClickHandler);
btMc.y = 20;
btMc.x = 230+(i*20);
}
}
private function imgClickHandler(e:MouseEvent):void
{
var my_url:URLRequest = new URLRequest(linkUrl[currentImgNum]);
navigateToURL(my_url, "_self");//링크추가
}
private function btClickHandler(e:MouseEvent):void
{
var i:int;
imgArr[currentImgNum].txtMc.gotoAndStop(1);//버튼 클릭시 텍스트 모션 1프레임 이동
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));
var tween1:Tween =new Tween(imgArr[i], "x", Strong.easeOut, imgArr[i].x, targetX, 1, true);
if(i==currentImgNum)
{
tween1.addEventListener(TweenEvent.MOTION_FINISH , tweenComplete);
}
}
}
private function tweenComplete(e:TweenEvent):void
{
imgArr[currentImgNum].txtMc.gotoAndPlay(2);//트윈 완료시 텍스트 모션 시작
}
}
}
'배워보자!! > 플래시' 카테고리의 다른 글
[flash as3.0] 플래시 마스크 물결효과내기 (0) | 2015.04.04 |
---|---|
[flash as3.0] 플래시 좌우롤링배너 만들기 type1 (0) | 2015.04.03 |
[flash as3.0] 플래시로 구글광고 따라하기 ver2 (0) | 2015.04.02 |
[flash as3.0] 픽셀단위로 이미지 나타내기 ver1 (pixelDissolve) (0) | 2015.04.02 |
[flash as3.0] 플래시로 구글광고 따라하기 ver1 (0) | 2015.04.01 |
댓글