로프 연결의 앵커 위치를 결정하기 위해 레이 캐스트를 사용하고 있습니다. 간단한 그리기 호출을 사용하여 로프 연결이 반환되는 지점에서 로프 연결이 안정적으로 만들어지고 있음을 알 수 있습니다. 내 문제는 반환 지점에 놓여 있습니다. 때로는 시체를 통과하여 반대편 경계에있는 점을 반환하고 때로는 시체 내부로 전달합니다. 그것이 반복적으로 통과하는 광선을 던지면 일관되게 실패하는 것처럼 보입니다. 다시 말하면, 똑같은 잘못된 점을 통과하여 되돌려줍니다. 이것은 내가 내 몸에 문제가 있다고 믿게한다. 문제의 바디에 TextureToBody 변환기를 사용하고 있습니다.Raycast에서 VB.NET.XNA의 Farseer Physics를 사용하여 탐지가 누락되었습니다.
또 다른, 덜 문제는 정확하게 관절 위치에서 각 방향으로 10/64를 빼야한다는 것입니다. 왜 이런 일이 일어나는지 모르겠습니다. 당신은 레이 캐스트에 의해 반환되는 모든 지점의 목록을 만든 다음 거리를 기준으로 정렬해야 시어의 내 사용을 기반으로
Private Sub castRay(startPoint As Vector2, direction As Vector2)
direction *= 25
direction.Y = (-direction.Y)
world.RayCast(Function(fixture As Fixture, point As Vector2, normal As Vector2, fraction As Single)
Dim body As Body = fixture.Body
ropeContactFixture = fixture
ropeContactPoint = point
ropeJoint = New RopeJoint(Me.body, fixture.Body, New Vector2(0, 0), point - ropeContactFixture.Body.Position - (New Vector2(10, 10)/64))
Return 0
End Function, startPoint, startPoint + direction)
End Sub