首先我想说我还是很缺乏经验,我上周才开始编程。
我目前正在开发我的第一个游戏(和 C++ 应用程序),我遇到了一个问题,并且没有设法解决它,我开始放弃了。
我可以正确生成敌人,但现在我希望他们每个人每秒射击一次。我为此使用的代码如下:
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;
}
}
现在,我知道某处有问题,因为一旦屏幕上有多个敌人,子弹就会不断重置回敌人(只要它只有一个敌人就可以完美地工作),我仍然没有设法找出需要更改的内容,或者我是否需要以完全不同的方式进行更改。
如果有人能指出我正确的方向或以某种方式帮助我,我将不胜感激!