From a8896841a3630b357af64336ba75e970861d90de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Valor=20Mart=C3=ADnez?= Date: Tue, 5 Jul 2022 09:02:54 +0200 Subject: [PATCH] empezando la clase Player --- source/player.cpp | 47 +++++++++++++++++++++++++++++++++++++++++++++++ source/player.h | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 source/player.cpp create mode 100644 source/player.h diff --git a/source/player.cpp b/source/player.cpp new file mode 100644 index 0000000..df7f861 --- /dev/null +++ b/source/player.cpp @@ -0,0 +1,47 @@ +#include "player.h" +#include +#include + +// Constructor +Player::Player(std::string _tileset, SDL_Renderer *_renderer, Asset *_asset) +{ + // Obten punteros a objetos + asset = _asset; + renderer = _renderer; + + // Crea objetos + texture = new LTexture(); + sprite = new AnimatedSprite(texture, renderer); + + // Carga la textura + loadTextureFromFile(texture, asset->get(_tileset), renderer); + + // Inicializa variables + color = stringToColor("white"); +} + +// Destructor +Player::~Player() +{ + texture->unload(); + delete texture; + texture = nullptr; + + delete sprite; + sprite = nullptr; +} + +// Pinta el enemigo en pantalla +void Player::draw() +{ + sprite->getTexture()->setColor(color.r, color.g, color.b); + sprite->render(); + sprite->getTexture()->setColor(255, 255, 255); +} + +// Actualiza las variables del objeto +void Player::update() +{ + sprite->update(); + sprite->animate(0); +} \ No newline at end of file diff --git a/source/player.h b/source/player.h new file mode 100644 index 0000000..9ec9349 --- /dev/null +++ b/source/player.h @@ -0,0 +1,37 @@ +#pragma once +#include "ifdefs.h" +#include "utils.h" +#include "asset.h" +#include "animatedsprite.h" +#include + +#ifndef PLAYER_H +#define PLAYER_H + +// Clase Player +class Player +{ +private: + LTexture *texture; // Textura con los graficos del enemigo + AnimatedSprite *sprite; // Sprite del enemigo + + SDL_Renderer *renderer; // El renderizador de la ventana + Asset *asset; // Objeto con la ruta a todos los ficheros de recursos + color_t color; // Color del jugador + + +public: + // Constructor + Player(std::string _tileset, SDL_Renderer *_renderer, Asset *_asset); + + // Destructor + ~Player(); + + // Pinta el enemigo en pantalla + void draw(); + + // Actualiza las variables del objeto + void update(); +}; + +#endif