diff options
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); } |
