Magic Disk 64

home to index to text: MD9001-KURSE-GRAFIKKURS_TEIL_2-1_:_PICASSO_UND_ALL_DIE_ANDERN..._TEIL_2.txt
 "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:

Valid HTML 4.0 Transitional Valid CSS!