Creando subclases de actors
This commit is contained in:
@@ -27,7 +27,7 @@ struct actor_t
|
|||||||
// Clase Actor
|
// Clase Actor
|
||||||
class Actor
|
class Actor
|
||||||
{
|
{
|
||||||
private:
|
protected:
|
||||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||||
LTexture *texture; // Textura con los graficos del enemigo
|
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