60 lines
1.8 KiB
C++
60 lines
1.8 KiB
C++
#ifndef SPRITE_H__
|
|
#define SPRITE_H__
|
|
|
|
/* *******************************************************************
|
|
* Includes
|
|
* ******************************************************************/
|
|
|
|
#include "Camera.h"
|
|
#include <Gamebuino.h>
|
|
#include <stdint.h>
|
|
|
|
/* *******************************************************************
|
|
* Defines
|
|
* ******************************************************************/
|
|
|
|
/* *******************************************************************
|
|
* Global types definition
|
|
* ******************************************************************/
|
|
|
|
/* *******************************************************************
|
|
* Global variables declaration
|
|
* ******************************************************************/
|
|
|
|
extern const Camera* _cam;
|
|
|
|
/* *******************************************************************
|
|
* Global functions declaration
|
|
* ******************************************************************/
|
|
|
|
/* *******************************************************************
|
|
* Class definition
|
|
* ******************************************************************/
|
|
|
|
class Sprite
|
|
{
|
|
public:
|
|
Sprite( const uint8_t* const pu8SprData,
|
|
const bool followCam = true,
|
|
const uint8_t u8Colour = BLACK,
|
|
const uint8_t rotation = NOFLIP);
|
|
void setPos(const uint8_t x, const uint8_t y);
|
|
void draw(void);
|
|
static void setCamera(const Camera* const cam)
|
|
{
|
|
_cam = cam;
|
|
};
|
|
static uint8_t getWidth(const uint8_t* const pu8SprData);
|
|
static uint8_t getHeight(const uint8_t* const pu8SprData);
|
|
|
|
private:
|
|
const uint8_t* _pu8SprData;
|
|
const bool _followCam;
|
|
uint8_t _colour;
|
|
uint8_t _rotation;
|
|
uint8_t _x;
|
|
uint8_t _y;
|
|
};
|
|
|
|
#endif /* SPRITE_H__ */
|