Salut alors voici les quelques problème dans ton programme :
*Devant ton image bitmap tu doit mettre la largeur et la auteur avant de mettre le code binaire
*Il faut obligatoirement une fonction "setup" afin que la machine sache par où commencer puis elle passe au "loop" après
*gb.display.drawBitmap(0,0,file); Les deux premier paramètre sont les coordonnées X,Y d'où vas être positionné ton image(le pixel le plus en haut à droite de l'image au coordonné indiqué)
Voici le code corrigé:
- Code: Select all
//imports the SPI library (needed to communicate with Gamebuino's screen)
#include <SPI.h>
//imports the Gamebuino library
#include <Gamebuino.h>
//creates a Gamebuino object named gb
Gamebuino gb;
const byte file[] PROGMEM = {48,84,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00011000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00111100, B00000000, B00000000, B00011111,
B00000000, B00000000, B00111100, B00000000, B00000000, B00011111,
B00000000, B00000000, B00111100, B00000000, B00000000, B00011111,
B00000000, B00000000, B00111100, B00000000, B00000000, B00011111,
B00000000, B00000111, B10111101, B11100000, B00000000, B00011111,
B00000011, B11111111, B11111111, B11111111, B11000000, B00011111,
B00000111, B11111111, B11111111, B11111111, B11100000, B00011111,
B00000111, B11111111, B11111111, B11111111, B11100000, B00011111,
B00000011, B11111111, B11111111, B11111111, B11000000, B00011111,
B00000000, B11111111, B11111111, B11111111, B00000000, B00011111,
B00000000, B00000000, B11111111, B00000000, B00000000, B00011111,
B00000000, B00000000, B00111100, B00000000, B00000000, B00011111,
B00000000, B00000000, B00011000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00011000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00011000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00011000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00011000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00011000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00011000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00011000, B00000000, B00000000, B00011111,
B00000000, B00000000, B11111111, B00000000, B00000000, B00011111,
B00000000, B00000000, B11111111, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
B00000000, B00000000, B00000000, B00000000, B00000000, B00011111,
};
void setup(){
// initialize the Gamebuino object
gb.begin();
}
// the loop routine runs over and over again forever
void loop(){
if(gb.update())
{
gb.display.drawBitmap(0,0,file);
}
}
Si tu veut pouvoir bouger ton avion il faut que l'image ne représente que l'avion pour pouvoir la bouger sans tout faire bouger avec.
Enfin par la suite mettre les image en hexadécimal permet de prendre moins de place dans le code et le rendre plus agréable même si avec le binaire on peut directement voir à quoi ressemble l'image.A toi de voir ce que tu préfère.
Avion en binaire:
- Code: Select all
const byte avion[] PROGMEM = {32,23,
B00000000,B00000011,B00000000,B00000000,
B00000000,B00000111,B10000000,B00000000,
B00000000,B00000111,B10000000,B00000000,
B00000000,B00000111,B10000000,B00000000,
B00000000,B00000111,B10000000,B00000000,
B00000000,B11110111,B10111100,B00000000,
B01111111,B11111111,B11111111,B11111000,
B11111111,B11111111,B11111111,B11111100,
B11111111,B11111111,B11111111,B11111100,
B01111111,B11111111,B11111111,B11111000,
B00011111,B11111111,B11111111,B11100000,
B00000000,B00011111,B11100000,B00000000,
B00000000,B00000111,B10000000,B00000000,
B00000000,B00000011,B00000000,B00000000,
B00000000,B00000011,B00000000,B00000000,
B00000000,B00000011,B00000000,B00000000,
B00000000,B00000011,B00000000,B00000000,
B00000000,B00000011,B00000000,B00000000,
B00000000,B00000011,B00000000,B00000000,
B00000000,B00000011,B00000000,B00000000,
B00000000,B00000011,B00000000,B00000000,
B00000000,B00011111,B11100000,B00000000,
B00000000,B00011111,B11100000,B00000000,
};
Avion en hexa:
- Code: Select all
const byte avion[] PROGMEM = {32,23,
0x0,0x3,0x0,0x0,
0x0,0x7,0x80,0x0,
0x0,0x7,0x80,0x0,
0x0,0x7,0x80,0x0,
0x0,0x7,0x80,0x0,
0x0,0xF7,0xBC,0x0,
0x7F,0xFF,0xFF,0xF8,
0xFF,0xFF,0xFF,0xFC,
0xFF,0xFF,0xFF,0xFC,
0x7F,0xFF,0xFF,0xF8,
0x1F,0xFF,0xFF,0xE0,
0x0,0x1F,0xE0,0x0,
0x0,0x7,0x80,0x0,
0x0,0x3,0x0,0x0,
0x0,0x3,0x0,0x0,
0x0,0x3,0x0,0x0,
0x0,0x3,0x0,0x0,
0x0,0x3,0x0,0x0,
0x0,0x3,0x0,0x0,
0x0,0x3,0x0,0x0,
0x0,0x3,0x0,0x0,
0x0,0x1F,0xE0,0x0,
0x0,0x1F,0xE0,0x0,
};
Après il est aussi possible de mettre sur une seul et unique ligne :
- Code: Select all
const byte avion[] PROGMEM = {32,23,0x0,0x3,0x0,0x0,0x0,0x7,0x80,0x0,0x0,0x7,0x80,0x0,0x0,0x7,0x80,0x0,0x0,0x7,0x80,0x0,0x0,0xF7,0xBC,0x0,0x7F,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0xFC,0xFF,0xFF,0xFF,0xFC,0x7F,0xFF,0xFF,0xF8,0x1F,0xFF,0xFF,0xE0,0x0,0x1F,0xE0,0x0,0x0,0x7,0x80,0x0,0x0,0x3,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x1F,0xE0,0x0,0x0,0x1F,0xE0,0x0,};
Si tu veut faire bouger ton avion tu n'aura qu'à faire deux variable X et Y par exemple et les faire modifier avec les flèche puis afficher l'avion avec "gb.display.drawBitmap(X,Y,avion);"
Voila bonne continuation et n'hésite pas si tu à d'autre souci