void MyScene::bulletTest() {
std::vector<Bullet*>::iterator it = bulletVector.begin();
//auto it = std::adjacent_find(bulletVector.begin(), bulletVector.end());
while (it != bulletVector.end()) {
std::vector<Enemy*>::iterator that = enemyVector.begin();
//auto that = std::adjacent_find(enemyVector.begin(),`enter code here`enemyVector.end());
while (that != enemyVector.end()) {
if ((*it)->isCollidingWith((*that))) {
Bullet* b = (*it);
this->removeChild(b);
it = bulletVector.erase(it);
delete b;
enemyDeSpawn();
}
else
{
it++;
}
}
}
}
我試圖用我的老師來測試我的子彈在我的敵人在引擎構建,本書雖然我不能讓它運行,只要我同時也有更多的拍我的敵人不是dereferencable比場上的一場比賽崩潰。矢量迭代器,側滾動射手
我將連接引擎的源代碼,有興趣的人, https://github.com/rktrlng/rt2d
只是一個想法,也加倍條件你的內部while循環包括相同的條件作爲你的外部while循環。一旦你沒有活躍的子彈,繼續沒有意義。更好的是,假設你的子彈不是多目標感知的,那麼一旦你的子彈已經被使用並且通過擦除「它」被提前,那麼'break'內部while-loop。顯然,以某種方式推進'那*'。 – WhozCraig