Files
volcano_2022/source/enemy_path.cpp

43 lines
921 B
C++

#include "enemy_path.h"
#include <fstream>
#include <sstream>
// Constructor
EnemyPath::EnemyPath(enemy_t enemy, SDL_Point p1, SDL_Point p2) : Enemy(enemy)
{
// Obten el resto de valores
this->p1 = p1;
this->p2 = p2;
}
// Destructor
EnemyPath::~EnemyPath()
{
}
// Actualiza las variables del objeto
void EnemyPath::update()
{
sprite->update();
sprite->animate();
checkPath();
collider = getRect();
}
// Comprueba si ha llegado al limite del recorrido para darse media vuelta
void EnemyPath::checkPath()
{
// Comprueba los límites horizontales
if (sprite->getPosX() > p2.x || sprite->getPosX() < p1.x)
{
sprite->setVelX(sprite->getVelX() * (-1));
sprite->flip();
}
// Comprueba los límites verticales
if (sprite->getPosY() > p2.y || sprite->getPosY() < p1.y)
{
sprite->setVelY(sprite->getVelY() * (-1));
sprite->flip();
}
}