2011-12-13 2 views
0

많은 mousefollower 자습서가 있습니다. 그들 중 대부분은 움직임 완화하는 간단한 수식 기능 :마우스 팔로워 입/출력

x += (tx - x)/interp; 
y += (ty - y)/interp; 

(TX = 목표 위치, X = 실제 위치 보정시를> 1)이 추종 후, 처음에 매우 빠르게 이동한다

천천히 목표 위치로 감속하십시오.

포뮬러를 변경해야 어떻게 할 수 있습니까? 사용자 지정 가속도, 사용자 지정 감속도 및 최대 속도 사이를 이동을 정의 할 수 있습니까? 맨 처음에는 가속력을 추가해도 만족합니다.

감사합니다.

한스

답변

0

가속도는 시간에 따른 속도 변화이다. 1D에서, 일정한 속도를 적용 할 수 있도록, 당신이 할 것 :

v += a * dt; 
x += v * dt; 

여기서

  • a
  • v (상수) 가속은
  • x은 속도입니다 x 위치
  • dt은 시간 간격, 즉 업데이트 사이의 시간입니다.

a이 이제 부정적이된다는 점을 제외하고는 감속을 위해 유사한 작업을 수행 할 것입니다.

이 최대 속도를 설정하려면, 당신은 단순히 어쩌면, v에 조건부 확인해야합니다 : v_max이 최대가 속도를 허용

v = MIN(v_max, v); 

(상수). 당신이 theta을 계산하는 데에

x += v * cos(theta); 
y += v * sin(theta); 

내가 ...

을두고 있습니다 :

차원에서

, 당신은 계정으로 이동 방향을 취할 필요 것