저는 잠시 동안이 문제를 겪어 왔으며 다른 사람이 도울 수 있다면 좋을 것입니다. :)회전하는 물체에 문제가 있습니다.
http://img31.imageshack.us/i/problemsc.jpg/ (문제의 그림)
그래서, 중간 하단에 등록 지점이 객체가 있습니다. 이 객체가 마우스를 따라 가면서 회전하는 동안 화면 가운데에 남기를 원합니다. 다음은 내가 사용한 것입니다.
dx = mouseX - this.x ;
dy = mouseY - this.y ;
radians = Math.atan2(dy, dx);
angle= radians * 180/Math.PI;
this.rotation = angle + 90;
this.y = mouseY + this.height;
이 코드의 문제점은 마우스를 가운데에서 벗어나면 (예 : 각도가 90 도가 아니므로 마우스 커서와 대상 사이에 간격 띄우기가 있습니다. 추적을하면 마우스의 y 위치를 따라야한다는 것을 알았지 만 객체를 회전하면 높이와 너비가 변하기 때문에 객체가 커서를 바로 가리키고 있지 않습니다.
이 오프셋을 보상 할 방법이 있습니까? 아니면 다른 접근법일까요? 미리 감사드립니다.
업데이트 : 좋아, 문제를 올바르게 설명하지 않은 것으로 보입니다. 죄송합니다. 영어가 제 모국어가 아닙니다. 나는 커서를 따라 객체를 필요로하지만, 객체의 앞쪽 끝은 커서의 같은 위치에 있고 객체의 뒤쪽 끝은 화면의 중앙에 있어야하며, 중심 x 축에 있어야합니다. 따라서 마우스를 움직이면 객체의 프런트 엔드는 항상 마우스를 가리키고 마우스 위치에있게됩니다. 백 엔드는 같은 위치에 있어야하지만 회전해야합니다.
안녕하세요, 감사를 업로드,하지만 그건 내가 찾고되지 않습니다. 마우스 커서에서 시작하여 화면 가운데에서 끝내야하는 객체가 필요합니다. 객체를 움직여야합니다 .... – GeorgeCross
객체를 움직일 수 있지만 중심을 기준으로 객체를 회전하려면 그리고 그 등록 포인트에 당신은 그 공식을 사용해야합니다. 이 fla 확인 : [link] http://rapidshare.com/files/457056048/rotation_mouse2.fla – btibia