2017-05-05 5 views
0

에서 Monogame에서 텍스처를 회전 시키려하고 있습니다. 그것은 원을 그리는 것과 같은 다른 객체 주위를 회전합니다 (자체적으로 텍스처를 라우팅하지 않음). 원을 회전시켜야합니다. 그것은 마우스로 회전하지 않고 반경 자체에서 연속적으로 회전합니다. Im는 MOnogame에서 새롭다. 그리고 최후의 2 개의 날 동안의 모든 것을 시험해 보았다. 어떤 사람들은 내가 죄와 코와 어떻게 생각할지 모르지만 나는 그것을 얻지 못했습니다! 그 프로젝트와 매우 잃어버린 메신저를 위해! 누군가가 나를 도울 수 있다면 나는 매우 위대 할 것이다! [그래서 배경 주위에이 로고 schould의 routate은] [2]텍스처가 Monogame, C#

링크 https://www.dropbox.com/s/gywi7teun8lqfp1/Unbenannt.png?dl=0

답변

0

이 순수 수학 문제 사진입니다.

newX = centerX + (cosX * (pointX-centerX) + sinX * (pointY -centerY)) 
newY = centerY + (-sinX * (pointX-centerX) + cosX * (pointY -centerY)) 

으로 : 당신이
cosXsinX이되는 궤도하려는 주위
centerXcenterY이 포인트가되는, 당신이 원하는 것은 점의 주위에 당신의 질감 궤도를 만드는 것입니다 내가 이해할 수있는 바로는,이 공식을 참조 각 각의 cosinus 및 각도의 부비동은
pointXpointY 당신이 그 (귀하의 경우 텍스처 위치)

주에서 회전을 적용 할 위치 인 각도는 라디안이어야하며 각도가 아닙니다. 이 질문에

+0

고마워,하지만 어떻게 코드로 번역 할 수 있니? –

+0

이것은 작동하지만 monogame에서는 회전 행렬을 사용하는 것이 더 좋을 것입니다. 더 많은 것은 API의 정신에 더한 것입니다. 그리고 그들은 여러분에게 죄와 코사인을하고 있습니다. –

0

답변은 여기에서 찾을 수 있습니다 :

Have an object circle an object

당신이 매트릭스를 사용하고 API가 회전 할 수 있도록하려는 경우

MonoGames에서 수학을 사용하는 방법의 예도 있습니다 너는 이것과 비슷한 것을 시도 할 수있다

public Vector2 RotateAboutOrigin(Vector2 point, Vector2 origin, float rotation) 
{ 
    return Vector2.Transform(pointorigin,Matrix.CreateRotationZ(rotation))+origin; 
}