我用XNA来旋转图像.我想让它在一个方向上旋转,然后回来,所以它做了一个来回的运动

本文关键字:一个 旋转 回来 运动 然后 图像 我用 方向 XNA | 更新日期: 2023-09-27 18:07:00

我使用XNA来旋转图像。我想让它在一个方向上旋转,然后返回,这样它就可以来回运动了。

然而,由于某些原因,我的代码不能工作。它向左旋转然后停止。有谁能告诉我原因吗?如果有人想知道的话,它也是c#的。

float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
bool goleft = true;
//Calculate rotation angle based on time elapsed
float circle = MathHelper.Pi * 2;
elapsed *= 2;
if (RotationAngle >= 0.7f)
{
goleft = true;
}
if (RotationAngle <= -0.7f)
{
goleft = false;
}
switch (goleft)
{
     case true:
                RotationAngle -= elapsed % circle;
                break;
     case false:
                RotationAngle += elapsed % circle;
                break;
}

编辑:在变量的顶部添加了更多的代码。很抱歉。

也没有switch语句,只有1 RotationAngle +=等。它能工作,绕着一个完整的圈转。但是我想让它前后移动而不是四处移动

我用XNA来旋转图像.我想让它在一个方向上旋转,然后回来,所以它做了一个来回的运动

您的bool goleft = true;是否已添加到更新中?因为我相信它每次都会重置为真。我已经有一段时间没有使用XNA了!