Files
volcano_2022/source/actor_moving_platform.cpp

41 lines
937 B
C++

#include "actor_moving_platform.h"
#include <fstream>
#include <sstream>
// Constructor
ActorMovingPlatform::ActorMovingPlatform(actor_t actor, SDL_Point p1, SDL_Point p2) : Actor(actor)
{
this->p1 = p1;
this->p2 = p2;
}
// Destructor
ActorMovingPlatform::~ActorMovingPlatform()
{
}
// Comprueba si ha llegado al limite del recorrido para darse media vuelta
void ActorMovingPlatform::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();
}
}
// Actualiza las variables del objeto
void ActorMovingPlatform::update()
{
checkPath();
sprite->update();
sprite->animate();
}