I는 (내 XNA 게임 오브젝트에 나타내는 방향)와 같은 속성을 썼다 법선 벡터 동시에 각도에서 물체의 방향을 나타내고, 동일한 두 필드를 설정지정 및 메소드 호출 순서
public Vector2 Direction
{
get { return direction; }
protected set
{
(direction = value).Normalize(); // ***
angle = MathHelper.WrapAngle((float)Math.Atan(direction.X/direction.Y));
}
}
세트.
***으로 표시된 줄이 실패하여 게임을 시작하지 못했습니다. 벡터를 정규화하지 않습니다.
나는이 라인을 변경 :
direction = value;
direction.Normalize();
하고 그것을 잘 작동합니다 ... 왜?
*** 첫 번째 작업은 값을 할당 한 다음 방향을 정규화한다고 가정했습니다. 그러나 사실이 아닙니다.
___ ___ _
___ 정규화()는Vector2 클래스 방법이다.
//
// Summary:
// Turns the current vector into a unit vector. The result is a vector one unit
// in length pointing in the same direction as the original vector.
public void Normalize();
언어에 대한 태그를 추가하십시오. – Mat
던져지고있는 예외/게임 실패의 오류 메시지를 포함하십시오. – StellarEleven
"게임 실패"란 게임 로직이 올바르게 업데이트되지 않았다는 의미입니다. –