오늘은 3.0이 아닌 2.0 입니다.
요즘은 다시 프로젝트도 들어갈듯 하고 간혹 땜방으로 일을 하기 때문에 아무래도 공부가 쉽지 않더군요...
오늘 설명할건 대단한건 아니고 이미 사용하시는 분도 많을것 입니다. 하지만 저도 요 근래 알았듯...
모르시는 분도 있을꺼 같아서 올려 봅니다.
회사에 들어가면서 로버트 패너의 클래스를 활용한 프로토 타입의 트윈 클래스를 이용해 작업을 하다가 프로토타입을 클래스 화해서 사용을 했는데 요 근래에 기본 제공되는 클래스들이 많다는걸 알게 됐습니다...
기본을 중시 하는 타입이 아니라 레퍼런스를 다 읽지를 않아서...;;;;;;;;;;
이제 부터라도 열심히 하면 된다는 마음으로 다시 보고 있습니다.
그런데 이 트윈이라는 클래스로 무비클립의 속성이 왼만한건 다 제어가 되는데 프레임의 제어는 안되는걸로 알고 있습니다 머 된다면 제가 레퍼런스를 읽어보지 않는 나쁜 습관 때문이겠죠....-0-;;;
아무튼 프레임을 제어하기 위해서는 watch를 이용해서 해야 합니다.
watch가 문자열의 이벤트를 받아들이면 등록된 함수를 실행해주는 메소드인거 같습니다...
3.0에서 생존해 있는지는 확인 안해 봤지만 살아 있다면 이벤트쪽 클래스에 있겠지요.
아무튼 이코드는 기본적으로 트윈을 이용한 색상제어 코드를 변환 한것입니다.
그래서 대단한건 없습니다..헤헤
아무튼 코드 들어갑니다.
more..
import mx.transitions.Tween;
import mx.transitions.easing.*;
//
function testFunc (target_mc:MovieClip, func:Function, startN:Number, endN:Number, duringTime:Number, ch):Void
{
//이부분에서 watch에서 ("brightness")문자열 등록
target_mc.watch ("brightness", brightnessWatcher, myMC);
//트윈 클래스의 생성을 해주며 이벤트가 실행할 동안 문자열을 호출해 줍니다 문자열이 brightness인
//이유는 저의 기차니즘 때문에 색상 관련 코드를 고치지 않았서 그럽니다....^^;;;;
var t:Object = new Tween (target_mc, "brightness", func, startN, endN, duringTime, ch);
}
this.createEmptyMovieClip ("img_mc", 10);
//
function brightnessWatcher (prop:String, oldVal:Number, newVal:Number, target_mc:MovieClip):Void
{
var n:Number = Math.floor (newVal);
target_mc.gotoAndStop (n);
}
next.onRelease = function ()
{
//
testFunc (myMC, easing.Elastic.easeOut, myMC._currentframe, 5, 10, false);
};
//
pre.onRelease = function ()
{
//
testFunc (myMC, easing.Elastic.easeOut, myMC._currentframe, 1, 10, false);
};
//
//
버튼 두개에서 프레임을 제어 합니다. 물론 이것도 이징 클래스의 메소드가 먹힙니다.
머 워낙 mx.tween 클래스가 좋은지라 별 다른 코드의 수정없이 됩니다.
트윈을 이용해서 딜레이를 계산하는것도 쉽게 할수 있을듯 한데 그건 좀...비효율적인거 같아서 내버려 뒀습니다. 아무튼 나중에 트윈 클래스를 확장해 봐야 겠습니다.
이 글의 트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다
::: 사람과 사람의 교감! 人터넷의 첫 시작! 댓글을 달아주세요! :::