"Picasso und all die andern..." Teil 2
Ring frei zur zweiten Runde in Sachen
Grafik. Diesmal wollen wir die Sprites
zu Ende abhandeln.
Sie hatten letzten Monat ja schon gelernt, was man alles machen muß, um ein
Sprite auf den Bildschirm zu bringen und
wie man es über den Bildschirm bewegt.
Heute wollen wir nun noch ein paar Einzelheiten klären, mit denen man gezielt
Sprites manipulieren kann. Und die sind
sehr zahlreich, aber aufgrund der Informationen des letzten Kurteils auch sehr
einfach zu verstehen. Also los gehts. . .
a) Spriteexpansion:
Wie Sie sicherlich noch wissen, war ein
Sprite genau 24 x21 Punkte groß. Wenn Sie
sich dies einmal auf dem Bildschirm angesehen haben, so war zu erkennen, daß dies eigentlich ein relativ kleiner Bereich ist. Was aber wenn wir jetzt ein
Spiel schreiben wollten, in dem ein besonders großes Raumschiff in einer kleinen Animation über den Bildschirm gleitet? Da gibt es grundsätzlich 2 Möglichkeiten. Zum einen die, daß man einfach
mehrere Sprites zusammenfaßt und diese
dann nebeneinander darstellt. Das hat
aber auch den Nachteil, daß nicht mehr
viele weitere Sprites übrigbleiben würden, mit denen wir noch andere Dinge
über den Bildschirm huschen lassen könnten, denn wir haben ja nur 8 von diesen
kleinen und schnuckeligen Grafikobjekten. Deshalb können wir auch auf eine
andere Methode zurückgreifen: die Spriteexpansion.
Was ist das, Expansion? Nun Expansion
heißt nichts anderes als " Erweiterung" oder besser " Dehnung" . Durch die Spriteexpansion können wir also Sprites dehnen. Hierbei wird der Bereich eines
Sprites einfach um das doppelte erwei- tert. Im Klartext heißt das, daß wir auf
diese Art und Weise die Größe von 24 x21 auf 48 x42 Punkte erhöhen. Das ist eine
flächenmäßige Vergrößerung um den Faktor
4 . Das Sprite ist jetzt also viermal
größer als wenn es nichtexpandiert
wäre!
Die ganze Sache hat aber auch einen
Nachteil. VIC benutzt zur Expansion nämlich immer noch die alten 63 Bytes, wie
Sie zur Darstellung von einem " normalen" Sprite nötig sind und nicht etwa das
vierfache davon (=252 Bytes) . Wir hatten
ja gesagt, daß das Sprite " gedehnt" wird, und das ist auch genauso wörtlich
aufzunehmen. VIC tut nichts anderes, als
jeden Bildpunkt eines Sprites zu dehnen.
Das heißt daß er da, wo vorher nur ein
Punkt war zwei Punkte in X-Richtung und
zwei Punkte in Y-Richtung darstellt.
Hierbei hat die Grafikauflösung kräftig
zu leiden, denn so haben wir nicht mehr
einzelne feine Punkte, sondern dicke
Klötze auf dem Bildschirm. Am besten ich zeige Ihnen einmal den Unterschied in
Form einer Grafik: