디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

AS3.0 으로 활용하는 Tween

차차aa갤로그로 이동합니다. 2009.11.10 19:30:14
조회 2634 추천 0 댓글 13




타임라인으로 애니메이션을 만들수 있지만 나는 노가다를 하기 싫다 하는 분들을 위해 만든 예제이므로 

안따라 하셔도 무방합니다

일단 간단한 예제를 만들어 보겠음요ㅋ

메인 타임라인에는 네모 라는 인스턴스네임을 가진 무비클립만 존재합니다(나머지는 손도 대지 않습니다)

그리고 액션창에 아래와 같이 적어 줍니다

import fl.transitions.*;
import fl.transitions.easing.*;
//위에 두줄은 트윈을 만들기 위해 불러 와야 합니다
var myTween:Tween = new Tween(this.네모, "x", None.easeIn, 10 , 430, 60, false);
//네모의 x 값이 가속도 없이 10에서  430 으로 초 단위를 사용하지 않고 60 프레임 동안 이동한다는 코드 입니다
/*
경우에 따라 "x"대신 에 "y" 등등 여러 속성을 쓸수 있습니다

None.easeIn은 애니메이션 효과에 관한것인데 밑에 그것에 대해 정리해 드리도록 하겠습니다

10 이라고 써진 부분은 시작부분 이고 430이라고 써진 부분은 끝나는 부분입니다

60이라고 설정하고 true 또는 false라고 설정해 초단위로 할것인지 프레임 단위로 할것인지 정리 합니다

false는 프레임 단위를 사용 한다는 것이므로 이 경우 60프레임 동안 이동합니다
*/
myTween.start();
//일단은 만든거 시작 해야겠죠?
myTween.addEventListener(fl.transitions.TweenEvent.MOTION_FINISH, _finish);
//끝나면 다시 이동하게 만들기 위해 이벤트 리스너 하나 달아 줍시다
function _finish(e:fl.transitions.TweenEvent):void
//이벤트 잘 받아드리시고
{
        myTween.yoyo();
//yoyo(); 이 코드가 바로 거꾸로 재생하는것입니다!!
}


자 이로써 맨 위의 예제를 만들어 보았습니다

이제 활용예제를 만들어 봅시다

사진배치.fla 파일을 여시고 따라해 봅시다

라이브러리에는 아이유0에서 아이유9까지 클래스가 정해진 사진이 들어간 무비클립이 있습니다

import fl.transitions.*;
import fl.transitions.easing.*;
//역시 이 부분 달아주시고
var 사진:Array = [];
//사진이라는 배열을 하나 만들어 줍니다
function 배치하기():void
//일단 사진을 배치 해야겠죠
{
        var i:int = 0;
//당연히 첨에는 0부터 시작해야 겠죠?
        var l:int = 10;
//사진의 개수를 적어주시면 됩니다
        while(i<l)
        {
                var referenceClass:Class = getDefinitionByName("아이유"+i) as Class;
//사실 이부분은 저도 모릅니다ㅠㅠ 하지만 감이 오실텐데 아이유라는 문자열에다가 i 값을 더한 클래스를 가져 오는것일겁니다
//예를들어 i 가 3이면 아이유3이라는게 오겠죠
                var 아이유사진:* = new referenceClass ();
//아이유사진이라는 것은 아까 만든 referenceClass라고 만듭니다
                this.addChild(아이유사진);
//이걸 배치 하기 위해 this 즉 메인 타임라인에 복제 합니다
//AS2.0 과 3.0의 복제과정은 매우 다른데 주로 이 방법을 씁니다
                사진.push(아이유사진);
//사진이라는 배열에 이걸 넣어 줍니다
                아이유사진.buttonMode = true;
//안해주셔도 상관 없지만 저는 손모양을 만들고 싶어서;;
                아이유사진.scaleY = .4;
//제 사진이 생각했던거 보다 커서 그런것이니 안하셔도 됩니다
                아이유사진.scaleX = .4;
//마찬가지로 안하셔도 됩니다 하시면 사진 크기 작아져요
                아이유사진.addEventListener(MouseEvent.CLICK, _click);
//이벤트 리스너 하나 달아줍시다 클릭하면 이벤트가 생겨야 되니까요
                i++;
//하나만 복제하긴 사진이 아깝죠 더 많은 아이유 사진을 복제 하기 위해 하나씩 늘려줍시다
//사실 이 코드를 안쓰면 무한 반복되서 안만들어 집니다;;
        }
}
function 위치설정():void
//저 위에 배치하기만 하면 (0,0)에 전부 배치가 됩니다 위치를 조정해 줘야 겠죠?
{
        var i:int = 0;
//역시 0부터;;
        var l:int = 10;
//위에서 언급했죠?
        while(i<l)
        {
                사진[i].y = 0 + Math.floor(i/4)*사진[i].height;
//Math.floor(숫자)는 숫자를 일의 자리에서 내렸을때의 값을 표시 합니다
//제가 4칸으로 만들어서 그렇지 5칸으로 만들려면 i/4 대신 i/5를 써주세요
//또한 사진[i]는 사진 배열에 자식 즉 아이유사진 들을 의미 합니다 그것의 높이만큼 y값을 추가 해줘야 안 겹치겟죠
                if(i/4-Math.floor(i/4)==0)
                {
                        사진[i].x = 0;
//y값만 조정하면 뭐합니까 x값도 조정해줘야죠 일단 x값이 0이여야 되는 것을 가리기 위한 조건을 만들어야 됩니다
                }
                else
                {
                        사진[i].x = 사진[i-1].x + 사진[i-1].width;
//누가 x값이 0인것만 만듭니까? 미쳣다고 당연히 다른 것들의 x값도 조정해 줘야됩니다
                }
                사진[i].oldX = 사진[i].x
//이건 트윈을 쓰기 위해 표현한 것입니다;
                사진[i].oldY = 사진[i].y
//이것 역시..
                i++;
//당연히 i 값은 추가햐 줘야 겠죠?
        }
}
배치하기();
위치설정();
//배치를 하고 위치를 설정을 해야 겠죠?
var big:Boolean = new Boolean();
//커졌을때 true가 되는 값을 만들기 위해 Boolean을 하나 만듭니다
big = false;
//첨에는 작으니까 false로 설정해 줘야죠
function _click(e:MouseEvent):void
{
        var me:MovieClip = e.currentTarget as MovieClip
//e.currentTarget 즉 맨 위에서 정의해준 아이유사진이 눌렸을때 그 눌린 아이유사진을 의미 합니다
        var myTween1:Tween = new Tween(me, "scaleX", None.easeIn, .4 , 1, 30, false);
        var myTween2:Tween = new Tween(me, "scaleY", None.easeIn, .4 , 1, 30, false);
        var myTween3:Tween = new Tween(me, "x", None.easeIn, me.oldX , 60, 30, false);
        var myTween4:Tween = new Tween(me, "y", None.easeIn, me.oldY , 0, 30, false);
//이부분이야 앞에서 설명했으니 넘어 가겠습니다
        if(big != true)
//true가 아닐땔 의미 합니다
        {
                myTween1.start();
                myTween2.start();
                myTween3.start();
                myTween4.start();
//다 시작을 해줘야겟죠?
                this.setChildIndex(me, this.numChildren-1);
//이 부분으로 인해서 클릭하는 개체가 맨 위로 올라가게 됩니다!
                trace(e.currentTarget);
//이부분이야 테스트를 하기 위해 넣은것입니다
                trace(big);
//이부분도...
                big = true;
//커지고 나면 true로 값을 바꿔 줘야 겠죠?
        }
        else
        {
                myTween1.yoyo();
                myTween2.yoyo();
                myTween3.yoyo();
                myTween4.yoyo();
//역시 거꾸로 가게 만듭니다
                trace(big);
//이경우 true가 나오겟죠?
                big = false;
//이제 false로 바꿔줍니다
        }
}

자 이제 예제 2개가 모두 설명이 끝이났습니다

제 설명이 좀 빈약하고 아직 제 지식도 빈약하지만 많은 도움이 됬으면 하네요;;

위에서 언급한 거에 대한 설명을 하겠습니다

일단 6클래스가 있습니다

Back : 반대로 가거나 지나쳐가서 다시 올바르게 가는것입니다

Bounce : 애가 귀엽게 통통 튀겨서 갑니다ㅋㅋㅋㅋ

Elastic : 앞뒤로 왔다 갔다 하면서 갑니다

None : 가속도도 없이 밋밋 합니다

Regular : 그냥 가속도 사용해서 갑니다 역시 밋밋합니다

Strong  : 좀더 역동적으로 갑니다;;

입니다

그리고 그 안에 작게 3개가 있는데

easeIn : 느렸다가 빨라지는것입니다 

easeOut : 빨랐다가 느려지는것 입니다

easeInOut : 위에 두개 섞은것입니다

입니다

이상으로 Tween에 대한 설명을 마치겠습니다

그냥 그렇다고요

ps1. 예제 두번째꺼 잘 되다가 안됨요... 아직 코딩을 다 못한듯 한데 이해좀;;

ps2. 고3님들 수능 잘치세요

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 주류 모델하면 매출 폭등시킬 것 같은 아이돌 스타는? 운영자 26/01/05 - -
공지 플래쉬 갤러리 이용 안내 [126] 운영자 05.12.14 60691 9
453531 대자대비 플갤러(61.75) 25.12.21 22 0
453526 여직원들이 휴식시간에 하는 놀이 다시만난세끼갤로그로 이동합니다. 25.11.23 156 0
453524 주저하는 연인들을 위해 다시만난세끼갤로그로 이동합니다. 25.11.16 78 0
453521 미녀와 바나나 [1] 다시만난세끼갤로그로 이동합니다. 25.11.09 145 0
453519 피아노 치는 세끼 다시만난세끼갤로그로 이동합니다. 25.11.02 107 0
453515 미녀가 부르는 애국가 다시만난세끼갤로그로 이동합니다. 25.10.09 118 0
453514 sexy 다시만난세끼갤로그로 이동합니다. 25.10.08 162 0
453511 야! 누나 믿지? 다시만난세끼갤로그로 이동합니다. 25.09.12 208 0
453510 해변에 간 동네여신 다시만난세끼갤로그로 이동합니다. 25.09.09 185 0
453508 핫팬츠 다시만난세끼갤로그로 이동합니다. 25.09.07 248 0
453507 이쁜게 죄다 다시만난세끼갤로그로 이동합니다. 25.09.06 172 0
453506 새로운 플짤 다시만난세끼갤로그로 이동합니다. 25.09.06 146 0
453504 12 [3] 플갤러(39.7) 25.08.20 286 0
453503 와 진짜 추억이네 ㅋㅋㅋㅋ 플갤러(101.235) 25.08.15 115 1
453492 위위플래쉬 명심하세요갤로그로 이동합니다. 25.07.27 122 0
453487 메이플스토리 영웅 플래시 아는사람 있다 플갤러(115.89) 25.06.03 172 0
453482 양자얽힘 플갤러(1.236) 25.02.10 352 0
453473 FLV 이거 mp4로 변환 알려주실분 플갤러(1.250) 24.09.29 390 0
453469 능력자 분들 질문이 있습니다 [1] 이대길(58.228) 24.07.05 539 0
453464 나 진짜진짜 찾고싶어서... ㅇㅇ(175.120) 24.04.30 394 0
453463 메이플스토리 영웅 플래시 아는 사람 있음? 플갤러(219.250) 24.04.24 294 0
453462 지금 리다이렉트 되는 게 있나요? ㅇㅇ(118.235) 24.04.24 253 0
453461 시프트 헤드 공략 자막 영상 조회수좀... 플갤러(1.247) 24.04.23 255 0
453456 와 내가 플갤 있던때가.. [2] 플갤러(218.238) 24.02.16 641 0
453444 플갤 그립네... asdf(221.147) 23.09.17 489 0
453431 여기가 아직 살아있네 개괴구리(218.238) 23.08.12 431 0
453427 플래쉬 설정 잘 아는 사람 질문드려요 ㅇㅇ(115.22) 23.07.18 394 0
453421 디시 짤방에 링크넣는법 아는사람? ㅇㅇ(157.97) 23.06.16 450 0
453417 미트스핀 출연자들 근황..mp4 ㅇㅇ(86.48) 23.05.31 535 0
453411 잇'갤로그로 이동합니다. 23.05.10 496 1
453405 간만에 생각나서 들러봄..... [1] ㅁㅇㄴㄹㄴㅁ(211.250) 23.04.09 789 0
453404 민주당 발의:디지털 화폐CBDC공산화악법 ㅇㅇ(118.235) 23.04.04 416 0
453403 전교조의 실체 ㅇㅇ(118.235) 23.04.04 497 0
453402 플래시 드라마갤러리아니었음? 항상힘내자(118.235) 23.04.01 501 1
453353 ㅇㅇ [7] ㅇㅇ(110.4) 22.12.06 853 0
453311 형님들 SWF를 무손실 영상으로 바꿀려면 어떻게해야하죠? [1] ㅇㅇ(103.163) 22.08.09 773 0
453286 글리잰 안되노 [1] ㅇㅇ(219.255) 22.03.22 840 0
453263 청부우파 아는 애 있냐? [4] ㅇㅇ(1.237) 21.11.23 1104 2
453262 여긴 죽었다. [2] 김생존(115.93) 21.11.22 1370 0
453260 youtube-dl gui 쓰는 사람한테 질문 [1] ㅇㅇㅋ(106.241) 21.11.08 1090 1
453252 이때까지 모은 플래시게임 배포함 DDR개구리갤로그로 이동합니다. 21.10.19 1145 2
453251 오랜만에 생각나서 입갤 [2] ♋ω♋갤로그로 이동합니다. 21.10.19 1484 1
453245 1달째 글 리젠이 없노 ㅋㅋㅋㅋㅋㅋ ㅇㅇ(58.123) 21.08.27 752 0
453242 다들 잘 살아계시져? [7] 겨울.flv(106.101) 21.07.10 1595 0
453241 fdgdf [1] ㅇㅇ(121.167) 21.07.08 2308 0
453237 플래시게임 "레드라인 럼블(redline rumble)" [1] ㅁㄴㅇㄹ(121.154) 21.06.26 2280 1
453236 초강추..브레이브걸스 하이힐 직캠 초고화질 4K 골반좌 하윤(210.182) 21.06.25 1419 0
453235 초강추..<롤린 오리지널버전 초고화질 4K 뮤비> 쁘쁘걸스(210.182) 21.06.25 835 0
453226 플래시겜에 이런것도 있었네 ㅁㄴㅇㄹ(61.81) 21.04.22 1052 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2