enemy kolizja rakiet
This commit is contained in:
@@ -7,6 +7,7 @@ class Rocket : public Projectile{
|
||||
public:
|
||||
Rocket(float x, float y, sf::Texture &texture) : Projectile(x,y, texture) {};
|
||||
void update() override;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -262,6 +262,26 @@ void Plansza::update() {
|
||||
++enemyIt;
|
||||
}
|
||||
}
|
||||
//oblsuga dla rakiety
|
||||
for (auto enemyIt = enemies.begin(); enemyIt != enemies.end();) {
|
||||
bool hit = false;
|
||||
for (auto rocketIt = ship.getRockets().begin(); rocketIt != ship.getRockets().end();) {
|
||||
if (enemyIt->getSprite().getGlobalBounds().intersects(rocketIt->getSprite().getGlobalBounds())) {
|
||||
rocketIt = ship.getRockets().erase(rocketIt);
|
||||
enemyIt->takeDamage();
|
||||
hit = true;
|
||||
break;
|
||||
} else {
|
||||
++rocketIt;
|
||||
}
|
||||
}
|
||||
if (hit && !enemyIt->isAlive()) {
|
||||
enemyIt = enemies.erase(enemyIt);
|
||||
} else {
|
||||
++enemyIt;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Meteor-related niżej
|
||||
@@ -293,6 +313,7 @@ void Plansza::spawn_enemy() {
|
||||
int spawnX = RandomNumberGenerator::getRandomNumber(50, size.width - 50);
|
||||
enemies.emplace_back(spawnX, -50, "../assets/img/enemy/enemy.png");
|
||||
enemySpawnClock.restart();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,4 +6,5 @@ void Rocket::update() {
|
||||
if(position.y < -100) {
|
||||
outOfBounds = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user