상세 컨텐츠

본문 제목

6강. 일차함수를 이용한 2차원 스크롤바

Programming/ActionScript3.0

by 노란날. 2011. 1. 13. 22:53

본문

반응형



_mc.mask = mask_mc;

var w:Number = small_mc.width- scroll_mc.width;
var h:Number = small_mc.height - scroll_mc.height;

scroll_mc.addEventListener(MouseEvent.MOUSE_DOWN, onStart);
function onStart(e:MouseEvent):void{
 scroll_mc.startDrag(false, new Rectangle(0, 0, w,h));
}
stage.addEventListener(MouseEvent.MOUSE_UP, onStop);
function onStop(e:MouseEvent):void{
 scroll_mc.stopDrag();
}

_mc.addEventListener(Event.ENTER_FRAME, onEnter);
function onEnter(e:Event):void{
 //스크롤x가 0~w로 움직일때 이미지x는 150~(이미지시작점 + mask_mc.width - _mc.width);
 var mcX:Number = _mc.x + mask_mc.width - _mc.width;
 var mcY:Number = _mc.y + mask_mc.height - _mc.height;
 //공식: 마우스이동거리가 a~b, 이미지이동거리가 c~d 이면
 // 이미지가 움직일 목표값 =(d-c)/(b-a)*(마우스가 움직인좌표 - a)+c;
 var tx:Number = (mcX - _mc.x)/(w-0)*(scroll_mc.x - 0) + 150;
 var ty:Number = (mcY - _mc.y)/(h-0)*(scroll_mc.y-0) + 80;
 _mc.x = _mc.x+ (tx - _mc.x) * 0.2;
 _mc.y = _mc.y + (ty - _mc.y)* 0.2;
}


반응형

관련글 더보기