_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;
}
6강. stage에 화면비율 맞추기 (0) | 2011.01.13 |
---|---|
6강. 돋보기효과의 이미지 만들기 (0) | 2011.01.13 |
6강. 일차함수를 이용한 갤러리 (0) | 2011.01.13 |
6강. 1차함수 예제 (0) | 2011.01.13 |
5강. 부드러운움직임을 이용한 예제 (0) | 2011.01.13 |