0

侵略者が画面の左端に到達すると下に移動するのに問題がありますが、右端に到達すると下に移動するのに問題はありません。移動のコードは次のとおりです。

if  (Invaders[0].GetXPos() < 100) // if the first invader element riches the far left of the screen, change direction, and move down four pixels.


{
        AlienDirection = +1;

        for (int Count = 0; Count < 11; Count++)
        {
            Invaders[Count].MoveVertical(4);
        }
    }

    if (Invaders[10].GetXPos() > 924)
    {
        AlienDirection = -1;

        for (int Count = 0; Count < 11; Count++)
        {
            Invaders[Count].MoveVertical(4); // if the first invader element riches the far left of the screen, change direction, and move down four pixels.
        }
    }

エイリアンが左にギアを上げたときに下に動かない原因は何なのか、私にはわかりません。ありがとうございました。

4

1 に答える 1

1

私の推測では、あなたのマジック ナンバー '924' は間違っていると思います。

これはすべて次のようにリファクタリングできます

if(Invaders[0].GetXPos() < 100 || Invaders[10].GetXPos() > 924) 
{
  AlienDirection = 0 - AlienDirection; // turns -1 into 1 and 1 into -1
  for(int Count = 0; Count < 11; Count++)
  {
    Invaders[Count].MoveVertical(4);
  }
}
于 2012-04-17T13:26:51.570 に答える