NOCH EINIGE BEMERKUNGEN ZU SPRITES
Mit Hilfe derselben Kodierungen (0-15) wie bei den Zeichenfarben (siehe
Kapitel 5 oder Anhang G) können Sie die Sprites in 16 verschiedenen
Farben darstellen.
Wenn Sie z. B. dem Sprite Nr. 1 die Farbe grün geben wollen, so müssen
Sie folgenden Befehl eintippen: POKE V+40,13 (mit V = 53248).
Sie werden vielleicht beim Ausprobieren des Beispielprogramms bemerkt
haben, daß die Sprites nie den rechten Bildschirmrand erreichen. Der
Grund dafür ist, daß die Bildschirmbreite 320 Punkten entspricht, das X-
Register jedoch nur Werte zwischen 0 und 255 enthalten kann. Wie kann
man nun ein Objekt dazu bringen, sich über den gesamten Bildschirm zu
bewegen?
Man benutzt zu diesem Zweck das Register Nr. 16, über dessen Funktion
Sie der Tabelle im Anhang N entnehmen können, daß darin das "höchste
Bit", auch MSB = Most Significant Bit genannt, gespeichert ist.
Das ist folgendermaßen zu verstehen: Ist das n-te Bit in diesem Register
gesetzt, so befindet sich das n-te Sprite in einer Bildschirmposition, die
einem X-Wert > 255 entspricht. Der aktuelle X-Wert ergibt sich dann,
wenn man zu dem Wert, der im X-Register steht, 256 hinzuzählt.
Soll z. B. das Sprite Nr. 2 eine X-Position zwischen 256 und 320
einnehmen, so muß im Register Nr. 16 das zweite Bit gesetzt werden. Da
2↑2=4, müssen wir in dieses Register eine 4 poken:
POKE V+16,4
Nun zählen wir den Inhalt des X-Registers, das zum Sprite Nr. 2 gehört
(das ist Register Nr. 4) von 0 bis 63 hoch. Auf diese Weise erreichen Sie
die restlichen X-Werte von 256-319.
Sie begreifen das ganze Konzept am besten, wenn Sie das folgende
Programm analysieren, das eine leicht abgeänderte Version unseres
bisherigen Sprite-Programms darstellt:
10 V = 53248 : POKE V+21, 4 : POKE 2042, 13
20 FOR N = 0 TO 62 : READ Q : POKE 832+N, Q : NEXT
25 POKE V+5, 100
30 FOR X = 0 TO 255
40 POKE V+4, X
50 NEXT
60 POKE V+16, 4
70 FOR X = 0 TO 63
76