모션 API을 사용 중이며 현재 개발중인 게임에 대한 제어 구성표를 찾으려고합니다.오리엔테이션을 사용하여 위치를 계산하는 Windows phone
내가 노력하려고하는 것은 장치를 위치에 직접 배치하는 것입니다. 전화가 앞으로 기울고 왼쪽으로 기울이면 왼쪽 상단 위치를 나타내고 오른쪽으로 돌아 오면 오른쪽 하단 위치가됩니다.
사진은 명확하게 나타냅니다 (빨간색 점은 계산 된 위치 임). 까다로운 비트 이제
앞으로 및 왼쪽
뒤로하고 오른쪽
. 또한 값에 왼쪽 가로 및 오른쪽 가로 방향의 장치 방향을 고려해야합니다 (세로가 기본값이므로 계산이 필요하지 않습니다).
누구나 이와 같은 작업을 했습니까?
참고 :
나는 요, 피치, 롤 및 사원 수 측정 값을 사용하여 시도했습니다.
나는 방금 내가 레벨에 대해 많이 생각하는 행동을 실감했다.
샘플 :
// Get device facing vector
public static Vector3 GetState()
{
lock (lockable)
{
var down = Vector3.Forward;
var direction = Vector3.Transform(down, state);
switch (Orientation) {
case Orientation.LandscapeLeft:
return Vector3.TransformNormal(direction, Matrix.CreateRotationZ(-rightAngle));
case Orientation.LandscapeRight:
return Vector3.TransformNormal(direction, Matrix.CreateRotationZ(rightAngle));
}
return direction;
}
}
중력 벡터 사용에 대해 완전히 잊어 버렸습니다. –
답변으로 표시해주세요 ...;) –