0

最初に言っておきたいのは、私はまだ非常に未熟で、先週プログラミングを始めたばかりです。

私は現在、最初のゲーム (および C++ アプリケーション) を開発しています。問題が発生しましたが、解決できず、あきらめ始めています。

敵を正しくスポーンすることはできますが、今度はそれぞれの敵を 1 秒に 1 回撃つようにします。これに使用しているコードは次のとおりです。

for (int i = 0; i < 200; i++)
        {
            if (enemy_basic[i].getPositionY() >= -100 && enemy_basic[i].getPositionY() <= 900)
            {
                if (enemyBasicLaserNumber[i] < 200 && enemyLaserTimer[i].getElapsedTime().asSeconds() > 1) 
                {
                    enemy_laser[enemyBasicLaserNumber[i]].setPosition(enemy_basic[i].getPositionX(), enemy_basic[i].getPositionY());
                    enemyLaserTimer[i].restart();
                    enemyBasicLaserNumber[i]++;
                    cout << enemyBasicLaserNumber[i] << endl;
                }

                if (enemyBasicLaserNumber[i] >= 199) enemyBasicLaserNumber[enemyBasicNumber] = 0;
            }
        }

画面に複数の敵がいるとすぐに弾丸が敵にリセットされ続けるため(敵が1つだけである限り、完全に機能します)、まだうまくいきません。何を変更する必要があるか、またはこれをまったく別の方法で行う必要があるかどうかを判断します。

誰かが私を正しい方向に向けたり、何らかの形で助けてくれたりしたら、とても感謝しています!

4

1 に答える 1