Creado el primer boceto de la clase padre actor
This commit is contained in:
59
source/actor.cpp
Normal file
59
source/actor.cpp
Normal file
@@ -0,0 +1,59 @@
|
||||
#include "actor.h"
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
|
||||
// Constructor
|
||||
Actor::Actor(actor_t actor)
|
||||
{
|
||||
// Obten punteros a objetos
|
||||
asset = actor.asset;
|
||||
renderer = actor.renderer;
|
||||
|
||||
// Crea objetos
|
||||
texture = new LTexture();
|
||||
loadTextureFromFile(texture, asset->get(actor.tileset), renderer);
|
||||
sprite = new AnimatedSprite(texture, renderer, asset->get(actor.animation));
|
||||
|
||||
// Obten el resto de valores
|
||||
sprite->setPosX(actor.x);
|
||||
sprite->setPosY(actor.y);
|
||||
sprite->setVelX(actor.vx);
|
||||
sprite->setVelY(actor.vy);
|
||||
|
||||
// Inicializa el sprite con el resto de parametros comunes
|
||||
sprite->setWidth(actor.w);
|
||||
sprite->setHeight(actor.h);
|
||||
sprite->setCurrentAnimation("walk");
|
||||
sprite->setFlip(actor.vx>0?SDL_FLIP_NONE:SDL_FLIP_HORIZONTAL);
|
||||
}
|
||||
|
||||
// Destructor
|
||||
Actor::~Actor()
|
||||
{
|
||||
texture->unload();
|
||||
delete texture;
|
||||
texture = nullptr;
|
||||
|
||||
delete sprite;
|
||||
sprite = nullptr;
|
||||
}
|
||||
|
||||
// Pinta el enemigo en pantalla
|
||||
void Actor::render()
|
||||
{
|
||||
sprite->render();
|
||||
}
|
||||
|
||||
// Actualiza las variables del objeto
|
||||
void Actor::update()
|
||||
{
|
||||
sprite->update();
|
||||
sprite->animate();
|
||||
}
|
||||
|
||||
// Obtiene el rectangulo de colision del enemigo
|
||||
SDL_Rect &Actor::getCollider()
|
||||
{
|
||||
collider = sprite->getRect();
|
||||
return collider;
|
||||
}
|
||||
Reference in New Issue
Block a user