Thu Jun 18, 2015 1:26 am
Thu Jun 18, 2015 10:02 am
#include <SPI.h>
#include <Gamebuino.h>
Gamebuino gb;
#define NUM_FRAME_SMALL 5
const byte smallEnemyBitmap[NUM_FRAME_SMALL][10] PROGMEM = {
{ 8, 8, 0x0, 0x7E, 0x6C, 0x6C, 0x7E, 0x7E, 0x7E, 0x66,},
{ 8, 8, 0x7E, 0x6C, 0x6C, 0x7E, 0x7E, 0x3C, 0x3C, 0xC,},
{ 8, 8, 0x7E, 0x6C, 0x6C, 0x7E, 0x7E, 0x38, 0x38, 0x18,},
{ 8, 8, 0x7E, 0x6C, 0x6C, 0x7E, 0x7E, 0x1C, 0x1C, 0x18,},
{ 8, 8, 0x0, 0x7E, 0x6C, 0x6C, 0x7E, 0x7E, 0x3C, 0x30,}
};
#define NUM_FRAME_BIG 6
const byte bigEnemyBitmap[NUM_FRAME_BIG][22] PROGMEM = {
{ 16, 10, 0x0, 0x0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3D, 0xA0, 0x3D, 0xA0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3F, 0xE0, 0x38, 0xE0, 0x38, 0xE0,},
{ 16, 10, 0x0, 0x0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3D, 0xA0, 0x3D, 0xA0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3F, 0xE0, 0x1, 0xC0,},
{ 16, 10, 0x3F, 0xE0, 0x3F, 0xE0, 0x3D, 0xA0, 0x3D, 0xA0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3F, 0xE0, 0xF, 0x0, 0x7, 0x0,},
{ 16, 10, 0x3F, 0xE0, 0x3F, 0xE0, 0x3D, 0xA0, 0x3D, 0xA0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3F, 0xE0, 0x7, 0x80, 0x7, 0x0,},
{ 16, 10, 0x3F, 0xE0, 0x3F, 0xE0, 0x3D, 0xA0, 0x3D, 0xA0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3F, 0xE0, 0xF, 0x80, 0xE, 0x0,},
{ 16, 10, 0x3F, 0xE0, 0x3F, 0xE0, 0x3D, 0xA0, 0x3D, 0xA0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3F, 0xE0, 0x3F, 0xE0, 0x1D, 0xC0, 0x1C, 0x0,}
};
void setup(){
gb.begin();
gb.titleScreen(F("Animated Sprite"));
}
void loop(){
if(gb.update()){
byte frame = gb.frameCount % NUM_FRAME_SMALL;
gb.display.drawBitmap(10, 40, smallEnemyBitmap[frame]);
frame = (gb.frameCount/2) % NUM_FRAME_SMALL;
gb.display.drawBitmap(20, 40, smallEnemyBitmap[frame], NOROT, FLIPH);
frame = gb.frameCount % NUM_FRAME_BIG;
gb.display.drawBitmap(30, 38, bigEnemyBitmap[frame]);
}
}
Thu Jun 18, 2015 2:16 pm
Thu Jun 18, 2015 2:37 pm
Sun Jun 21, 2015 6:32 pm
Sun Jun 21, 2015 7:31 pm