私は本当にC++には新しくて、かなり悪いですが、私は大学のプロジェクトにスペースインベーダーゲームを作っています。私はエイリアンの移動システムに問題があります。エイリアンを一列に出す方法(画面の一面に移動してから下に移動すると)。まず、ここでC++スペースインベーダーの動き
は私は宇宙人が左に行くと下に移動し得ることができる外国人の動き
if (currentSpritePos.x < 975 || currentSpritePos.x > 0)
{
this->AlienVelocity.x = this->AlienVelocity.x*-1;
}
if (currentSpritePos.x == 0)
{
cout << "Im at the wall wooo and going to move down";
//AlievVelocity.x*+1;
setSpritePos({ 0, 75 });
}
を移動するために使用していますが、彼らは右に移動されていない何らかの理由で、私はコメントしたコードです"AlienVelocity.x * + 1"をラインアウトすると、 "-1"がそれらを左にしてからちょうど彼らが右に向かうと思った...
私が作ったライン配列を作成し、テスト目的のためだけに2人のエイリアンが生成するように設定します。側の2行目に
for (int aly = 0; aly < 2; aly++) // Change the 35 to number of desired aliens
{
theAliens.push_back(new cAliens);
theAliens[aly]->setSpritePos({ (100, 50) + 200 });
theAliens[aly]->setSpriteTranslation({ 0, 0 });
theAliens[aly]->setTexture(theTextureManager->getTexture("alien"));
theAliens[aly]->setSpriteDimensions(theTextureManager->getTexture("ship")->getTWidth(), theTextureManager->getTexture("alien")->getTHeight());
}
文の私はそれがすぐ隣の外国人に200ポイントを置くが、明らかではないだろうと思ったので、私は、私は、この問題を解決する方法についてはよく分からない。+200+」置きます...よく
1を掛けても速度は変わりません。ループでは、反復子の値alyによって200を掛けたいと思うでしょう。 – david
StackOverflowはデバッグサービスではありません。特定の問題に対する具体的な回答に最も適しています。デバッガを使用して、自分がやっていると思われることを実行しない場所を特定し、それを尋ねられた質問として質問します(答えが見つからない限り)。 –