我正在尝试来回移动对象。这是我尝试过的方法,但是它只会向右移动并停止,但不会返回。

public void moveBug()
{
    bugX++;

    if (bugX > 400){
        bugX--;
    }

    if (bugX < 0){
        bugX++;
    }
}


我的讲师也提供了这段代码,但是我不确定如何将其应用于代码。

if ((frameCount % 60) == 0)
{
    // Do something
}

最佳答案

您的代码在每次调用时都会无条件运行bugX++,这会导致错误始终向右移动。您将需要另一个变量来跟踪错误的移动方向。您需要根据它是向右还是向左移动来做不同的事情。


如果向右移动,则递增x:bugX++
如果它向左移动,则递减x:bugX--
如果到达右侧,则将方向切换到左侧。
如果到达左侧,则将方向切换到右侧。

10-06 01:09