diff options
| author | XaviDCR92 <xavi.dcr@gmail.com> | 2018-07-10 00:04:16 +0200 |
|---|---|---|
| committer | XaviDCR92 <xavi.dcr@gmail.com> | 2018-07-10 00:04:16 +0200 |
| commit | 14c12aeea30d59e9c811f1cc8c7019053d646033 (patch) | |
| tree | 7bff078a702a1b2949c37930adfc6fd2fc45c3cb /Sprite.cpp | |
| parent | 188d74cb789f33967daf6daa5af17d41b6f59d4e (diff) | |
More work on Unit/BaseUnit concepts.
Diffstat (limited to 'Sprite.cpp')
| -rw-r--r-- | Sprite.cpp | 43 |
1 files changed, 41 insertions, 2 deletions
@@ -3,6 +3,7 @@ * ******************************************************************/ #include "Sprite.h" +#include "System.h" /* ******************************************************************* * Defines @@ -32,8 +33,46 @@ * * \brief Constructor for Sprite class. * + * \param pu8SprData + * Pointer to raw sprite data. + * + * \param u8Colour + * Sprite colour. Default value is BLACK. + * + * \param rotation + * Sprite rotation. Default value is NOROT. + * *********************************************************************/ -Sprite::Sprite(const uint8_t& pu8SprData) : -_pu8SprData(pu8SprData) +Sprite::Sprite(const uint8_t& pu8SprData, const uint8_t u8Colour, const uint8_t rotation) : +_pu8SprData(pu8SprData), +_colour(u8Colour), +_rotation(rotation), +_x(0), +_y(0) +{ +} + +/*****************************************************************//** + * + * \brief Reportedly, this function updates X/Y coordinates for + * a Sprite object. + * + * \param x + * X position, relative to screen coordinates origin. + * + * \param y + * Y position, relative to screen coordinates origin. + * + *********************************************************************/ +void Sprite::setPos(const uint8_t x, const uint8_t y) +{ + /* Update coords according to input parameters. */ + _x = x; + _y = y; +} + +void Sprite::draw(void) { + gb.display.setColor(_colour); + gb.display.drawBitmap(_x, _y, (const uint8_t*)&_pu8SprData); } |
