최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

내항의곱과 외항의 곱은 같다는 것을 이용

 

A : a = B : b

 

A * b = a * B

 

b = a * B / A

 

대응점 = 위치 * 전체너비 / 현재너비

 

∴Y.x = X.x * ( D - C ) / (B - A) + C

 

∴Y.x = X.x * D / B (시작점을 0으로 맞추었을경우) 

 

import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.events.Event;

var A:int = 10;
var B:int = 210;

var C:int = -10;
var D:int = 390;

var X_legnth:Number = (B - A);

X.bar.buttonMode = true;
X.bar.addEventListener(MouseEvent.MOUSE_DOWN, down);

function down(e:MouseEvent):void{
	var bounds:Rectangle = new Rectangle(A,0,X_legnth,0);
	X.bar.startDrag(true, bounds);
	 
	stage.addEventListener(MouseEvent.MOUSE_UP, up);
	X.bar.addEventListener(Event.ENTER_FRAME, loop);
}

function up(e:MouseEvent):void{ 
	X.bar.stopDrag();
	X.bar.removeEventListener(Event.ENTER_FRAME, loop);
}

function loop(e:Event):void{
 
	var pos:Number;
	//일차함수
	//pos = (D-C) / (B-A) * (X.bar.x - A) + C; //공식대입
	//pos = (390 - (-10)) / (210 - 10 ) * (X.bar.x - 10) + (-10); //숫자대입
	 
	//비례식
	pos = (X.bar.x - A) * (D-C) / (B-A) + C; //공식대입
	//pos = (X.bar.x - 10) * (390 - (-10)) / (210 - 10) + (-10); //숫자대입
	Y.bar.x = pos;
}

  빨간점을 드래그하여 움직이면 노란색 원이 같이 움직인다.

 

댓글