#include "actor.h" #include #include // 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; }