233Fermer235
vinceLe 16/12/2012 à 01:48
ah oui, il faut définir SCB_UNITES et SCB_DIZAINES (en assembleur généralement dans les exemples)

extern char SCB_UNITES[];
extern char SCB_DIZAINES[];
#asm
_SCB_UNITES dc.b $C7,$90,$20 
          dc.w 0,0 
          dc.w 80,50,$100,$100 
          dc.b $0f,$b9,$ab,$67,$89,$ab,$cd,$ef 
_SCB_DIZAINES dc.b $C7,$90,$20 
          dc.w 0,0 
          dc.w 70,50,$100,$100 
          dc.b $0f,$b9,$ab,$67,$89,$ab,$cd,$ef 
#endasm

0xC7 dans SPRCTL0 => 0b11000111 => couleurs sur trois+1 bits(*) // pas de flip horz ou vert // ombré (l'indice de palette 0 sert pour la transparence)
0x90 dans SPRCTL1 => 0b10010000 => littéral // rechargement Hsize&Vsize
0x20 dans SPRCOLL => 0b00100000 => pas de collisions

(*) c'est pour que le sprite soit "compréhensible à l'oeil nu", pour le coup, sur un bit ça suffirait)

pour tes tableaux de sprite, tu peux avoir par exemple
char c1[]={
4,0x00,0x10,0x00, /*001000*/
4,0x01,0x10,0x00, /*011000*/
4,0x10,0x10,0x00, /*101000*/
4,0x00,0x10,0x00, /*001000*/
4,0x00,0x10,0x00, /*001000*/
4,0x00,0x10,0x00, /*001000*/
4,0x01,0x11,0x00, /*011100*/
0
};