0
XNA에서 비행 시뮬레이터 게임을 만들고 있습니다. 나는 또한지도 주위를 움직이는 몇 개의 비행선 (비행선)을 가지고있다. 문제는 그들이 블라인드가지도의 끝까지 올 때 제대로 돌아갈 수 없다는 것입니다. Blimp 클래스에 회전 위치와 회전 변수 및 속도가 포함되어 있습니다. 이것은 기본 논리로, 가장자리 근처에있을 때 회전을 시작할 것이라고 말합니다. 그러나 특정 양을 돌린 후 회전을 멈추게 만드는 방법을 모르겠습니다 (180도를 말하십시오).xna의 회전 문제
private void blimpLogic(GameTime gameTime)
{
float turningSpeed = (float)gameTime.ElapsedGameTime.TotalMilliseconds/ 1000.0f;
float turning = 0;
foreach (Blimp b in blimps)
{
if (b.Pos.X <= terrain.EdgeX.X + 100)
{
turning += turningSpeed * b.Speed;
b.Rotation += turningSpeed;
}
if (b.Pos.X >= terrain.EdgeX.Y - 100)
{
turning += turningSpeed * b.Speed;
b.Rotation += turningSpeed;
}
if (b.Pos.Z <= terrain.EdgeZ.X + 100)
{
turning += turningSpeed * b.Speed;
b.Rotation += turningSpeed;
}
if (b.Pos.Z >= terrain.EdgeZ.Y - 100)
{
turning += turningSpeed * b.Speed;
b.Rotation += turningSpeed;
}
}
}
미리 감사 드리며 내가 뭔가 명확하지 않은지 묻습니다.
고마워, 내가 오래 길을 위해 붙어 있었지만 .. 좋은 해결책을 찾았는데, 여기서 내가 회전을 확인하는 currentRotation을 가지고있어서 180도 이상 회전하지 않을 것이다. :) – kakebake