Creadas las colisiones con los enemigos

This commit is contained in:
2022-07-11 14:18:30 +02:00
parent 4d41ef53f1
commit 4f6a99f670
14 changed files with 97 additions and 22 deletions

View File

@@ -40,6 +40,8 @@ Enemy::Enemy(enemy_t enemy)
sprite->setAnimationFrames(0, 2, 16 * 2, 0, 16, 16);
sprite->setAnimationFrames(0, 3, 16 * 3, 0, 16, 16);
sprite->setSpriteClip(sprite->getAnimationClip(0, 0));
collider = getRect();
}
// Destructor
@@ -67,6 +69,7 @@ void Enemy::update()
sprite->update();
sprite->animate(0);
checkPath();
collider = getRect();
}
// Comprueba si ha llegado al limite del recorrido para darse media vuelta
@@ -74,13 +77,25 @@ void Enemy::checkPath()
{
if (sprite->getPosX() > x2 || sprite->getPosX() < x1)
{
//sprite->setPosX(sprite->getPosX() - sprite->getVelX());
// sprite->setPosX(sprite->getPosX() - sprite->getVelX());
sprite->setVelX(sprite->getVelX() * (-1));
}
if (sprite->getPosY() > y2 || sprite->getPosY() < y1)
{
//sprite->setPosY(sprite->getPosY() - sprite->getVelY());
// sprite->setPosY(sprite->getPosY() - sprite->getVelY());
sprite->setVelY(sprite->getVelY() * (-1));
}
}
// Devuelve el rectangulo que contiene al enemigo
SDL_Rect Enemy::getRect()
{
return sprite->getRect();
}
// Obtiene el rectangulo de colision del enemigo
SDL_Rect &Enemy::getCollider()
{
return collider;
}