Les sprites doivent avoir exactement les memes couleurs. Une procedure est fournie pour cela, et elle se trouve dans l Annexe C avec de nombreuses autres procedures utiles.
GET SPRITE PALETTE
instruction : copier les couleurs du sprite dans l ecran
Get Sprite Palette
Get Sprite Palette masque
Cette commande copie les couleurs utilisees par vos images de sprites et de bobs, et les charge dans l ecran courant. C est une commande intelligente : si un ecran 16-couleurs est utilise, les valeurs sont automatiquement copiees dans les registres de couleurs 16 a 31. Cela signifie que vous pouvez utiliser les memes images pour des bobs ou des sprites sans conflit de couleurs ! Voici un exemple :
E> Load "AMOSPro Tutorial:Objects/Sprites.Abk" Curs Off : Flash Off : Cls 0 Get Sprite Palette Rem Affiche un sprite calcule aux coordonnees 128,50 utilisant l image 1 Sprite 8,128,50,1 Wait Key
Le parametre masque optionnel permet de limiter la selection des couleurs. Chaque couleur est representee par un chiffre dans un masque binaire de 32 bits. Si le bit est a 1, la couleur est copiee depuis la banque d objets. Si le bit est a 0, elle est ignoree. Exemple : ceci copie les couleurs 0 a 3 depuis la banque d objets :
X> Get Sprite Palette %0000000000001111
Comme le masque est une valeur numerique, vous pouvez aussi utiliser des valeurs hexadecimales ou decimales :
X> Get Sprite Palette $FFFF0000
Notez que les commandes GET BOB PALETTE et GET OBJECT PALETTE font exactement la meme chose que GET SPRITE PALETTE.
GET SPRITE
instruction : capture une image de l ecran dans la banque d objets
Get Sprite numero image,x1,y1 To x2,y2
Get Sprite numero ecran,numero image,x1,y1 To x2,y2
Cette commande permet de capturer des images directement depuis l ecran pour en faire des sprites. Il suffit de definir le numero de l image, puis les coordonnees du rectangle (coin superieur gauche jusqu au coin inferieur droit) a capturer. L image sera capturee depuis l ecran actuel, sauf si vous specifiez un numero d ecran.
Tant que les coordonnees sont dans les limites de l ecran, il n y a pas de restriction pour l image capturee.