Creando subclases de actors
This commit is contained in:
@@ -27,7 +27,7 @@ struct actor_t
|
||||
// Clase Actor
|
||||
class Actor
|
||||
{
|
||||
private:
|
||||
protected:
|
||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||
LTexture *texture; // Textura con los graficos del enemigo
|
||||
|
||||
39
source/actor_moving_platform.cpp
Normal file
39
source/actor_moving_platform.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
#include "actor_moving_platform.h"
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
|
||||
// Constructor
|
||||
ActorMovingPlatform::ActorMovingPlatform()
|
||||
{
|
||||
}
|
||||
|
||||
// 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();
|
||||
}
|
||||
31
source/actor_moving_platform.h
Normal file
31
source/actor_moving_platform.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#pragma once
|
||||
|
||||
#include <SDL2/SDL.h>
|
||||
#include "actor.h"
|
||||
#include <string>
|
||||
|
||||
#ifndef ACTOR_MOVING_PLATFORM_H
|
||||
#define ACTOR_MOVING_PLATFORM_H
|
||||
|
||||
// Clase Actor
|
||||
class ActorMovingPlatform : public Actor
|
||||
{
|
||||
private:
|
||||
SDL_Point p1; // Punto 1 (inicial) de la ruta
|
||||
SDL_Point p2; // Punto 2 (final) de la ruta
|
||||
|
||||
// Comprueba si ha llegado al limite del recorrido para darse media vuelta
|
||||
void checkPath();
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
ActorMovingPlatform();
|
||||
|
||||
// Destructor
|
||||
~ActorMovingPlatform();
|
||||
|
||||
// Actualiza las variables del objeto
|
||||
void update();
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user