티스토리 뷰
float _Height = (float)abs(MOUSEINTERFACE.getPoint().y - mCenter.y); // 현재 캐릭터의 좌표와 마우스와의 좌표 사이의 높이를 구해준다.
float _Bottom = (float)abs(MOUSEINTERFACE.getPoint().x - mCenter.x); // 현재 캐릭터의 좌표와 마우스와의 좌표 사이의 밑변의 길이를 구해준다.
float _R = sqrt((_Height*_Height) + (_Bottom*_Bottom)); // 빗변을 구하는 공식.
// 길이 = 속도(이동픽셀) * 시간 => 시간 = 길이 / 이동 픽셀
float _S = _R/3;
// 시간을 X또는 Y축과 나누면 그 축으로 시간만큼 얼마나 이동해야 정해진 시간안에 목표에 도달하는지를 구할 수 있다.
mMovePos.x = _Bottom / _S;
mMovePos.y = _Height / _S;
이제 mMovePos를 지속해서 더해주면 마우스 클릭한 위치로 이동하게 됨.
'Programming > 수학&물리' 카테고리의 다른 글
두 원의 충돌(원과 점의 충돌) (0) | 2015.11.21 |
---|---|
점과 직선사의 거리 (0) | 2015.11.21 |
각도에따라서 회전시키기! (0) | 2015.01.07 |
직선의 회전운동!(점2개와 각도를 알고있을때) (0) | 2015.01.07 |
[C++]MagicSquare programming : 마방진 (0) | 2014.09.18 |
댓글