티스토리 뷰
내항의곱과 외항의 곱은 같다는 것을 이용
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; }
빨간점을 드래그하여 움직이면 노란색 원이 같이 움직인다.
'■ 개발관련 ■ > 산수와 알고리즘' 카테고리의 다른 글
거리,속력,시간 구하기 (0) | 2013.10.13 |
---|---|
비례공식 - 이미지의 가로, 세로 비율유지 (자바스크립트) (0) | 2013.10.13 |
비례공식 - 일차함수 (0) | 2013.10.13 |
탄성공식 - 마우스 따라다니기 응용 (0) | 2013.10.13 |
탄성공식 (0) | 2013.10.13 |
댓글