Si la variable ( tableau) qui renferme le motif à afficher ( sprite) à été placé anvant _main, c´est pour que celle-ci soit une variable globale, c´est à dire accessible et manipulable par toutes les fonctions du programme.
Si je l´avais déclaré dans _main entre les {}, elle n´aurait été manipulable qu´à l´intérieur de cette fonction, à moins de la passer comme paramètre aux autres fonctions.
Quand aux déplacements : si on reprends :
Sprite8( 10, 10, 8, image, LCD_MEM, SPRT_OR ) ;
il suffit de faire :
unsigned char image[8] = {
0b10000001,
0b01000010,
0b00100100,
0b00011000,
0b00011000,
0b00100100,
0b01000010,
0b10000001 };
void _main( void )
{
int x; / / coordonnée x de l´image
int touche = 0; / / valeur de la touche enfoncée
clrscr(); / / Efface l´écran
while( touche ! = KEY_ESC )
{
Sprite8( x, 10, 8, image, LCD_MEM, SPRT_OR ) ; / / Affiche image
if( touche == KEY_RIGHT ) / / Si on appuie sur flèche droite
{
clrscr(); / / On efface l´écran
x++; / / On se déplace d´un pixel vers la droite
}
if( touche == KEY_LEFT ) / / idem mais à gauche...
{
clrscr();
x--;
}
}
}
Ce code d´emple est volontairement très simple afin de bien comprendre ce qui se passe.
Il faut faire attention à ne pas sortir de l´écran car sinon cela plante : mais tu peux pallier à ce problème.
Mais avant d´aller plus loin, il est vraiment vital que tu maitrises les tableaux/pointeurs/fonctions donc lis le livre ou un tuto. Je sais que c´est pas très marrant, mais il faut passer par là 