Magic Disk 64

home to index to html: MD9001-KURSE-GRAFIKKURS_TEIL_2-2.html
MD9001-KURSE-GRAFIKKURS_TEIL_2-2.koala.png
Doch  nun zum Praktischen. Um ein Sprite
expandieren zu können stellt uns  VIC  2
weitere  Register  zur  Verfügung.   Zum
einen hätten wir da Register 29 für  die
Vergrößerung in X-, zum anderen Register
23 für Vergrößerung in Y-Richtung. Diese
beiden Register sind ähnlich Register 16
aufgebaut,  das  wir  ja für die neunten
Bits der X-Position eines  Sprites  ver-
wandten.  Hier ist nämlich ebenfalls für
jedes der acht Sprites  ein  Bit  reser-
viert.  Möchten wir nun ein Sprite in X-
oder Y-Position expandieren,  so  müssen
wir  lediglich dessen Bit in Register 23
und/oder 29 setzen, je nach dem in  wel-
che Richtung es vergrößert werden soll. 
Hier nochmal eine Öbersicht, welches Bit
eines   Registers   für  welches  Sprite
zuständig ist:                          
Bit   : 7 6 5 4 3 2 1 0                 
Sprite: 7 6 5 4 3 2 1 0                 
Ist das Expansionsbit eines Sprites also
gesetzt,  so wird das Sprite vergrößert,
ist es gelöscht, so wird es in der noma-
len Auflösung dargestellt. Zur Demonsta-
tion habe ich Ihnen  auf  der  Rückseite
dieser  MagicDisk  ein  kleines Programm
namens "SPRITE-EXP" gespeichert. Da kön-
nen Sie sich unser UFO-Sprite nocheinmal
ansehen.                                
2.) Farbige Sprites:                    
--------------------                    
Wenn  Sie  letzten Monat einmal Sprite 0
auf dem Bildschirm hatten, dann hatte es
-fast ganz selbstverständlich- die Farbe
Weiß. Merkwürdigerweise war das Sprite 1
(wenn Sie  dieses  einmal  eingeschaltet
hatten)  nicht  der  Fall. Dieses sollte
nämlich direkt nach dem Einschalten  des
Rechners in sattem Rot geleuchtet haben.
Sie merken schon worauf ich hinaus möch-
te: man kann einem Sprite  nämlich  auch
eine   bestimmte  Farbe  zuordnen.  Dies
funktioniert genauso,  als  wollten  Sie
die  Bildschirmfarbe  ändern, nur müssen
wir diesmal die Farbe nicht ins  Hinter-
grundregister  schreiben, sondern in das
dem Sprite zugehörige Farbregister. Die-
se  sind Ihnen bestimmt schon in der Re-
gister-Tabelle aus dem letzten  Kursteil
aufgefallen. Es sind die Register 39 bis
46.  Für  jedes  der 8 Sprites ein Regi-
ster. Möchten wir also Sprite 0 nicht in
Weiß, sondern beispielsweise in  Schwarz
auf  dem Bildschirm sehen, so müssen wir
schlichtweg  eine  0  in   Register   39
schreiben.  Die Farbwerte sind dieselben
wie bei der Hintergrundfarbgebung.  Hier
jedoch trotzdem nocheinmal eine Tabelle:
Wert Farbe         Wert Farbe           
----------------------------------------
  0  Schwarz         8  Orange          
  1  Weiß            9  Braun           
  2  Rot            10  Hellrot         
  3  Türkis         11  Dunkelgrau      
  4  Violett        12  Mittelgrau      
  5  Grün           13  Hellgrün        
  6  Blau           14  Hellblau        
  7  Gelb           15  Hellgrau        
Schreiben Sie nun einen dieser Werte  in
das  Farbregister  eines Sprites, so er-
scheint dieses dann in  der  angegebenen
Farbe  (unter der Vorraussetzung, daß es
natürlich auf  dem  Bildschirm  sichtbar
ist).                                   
3.) Multicolorsprites:                  
----------------------                  
Nun  können  wir  also auch einem Sprite
eine Farbe  zuweisen.  Doch  müssen  Sie
zugeben,  daß  dies  auf  die Dauer auch
nicht die optimale Sache ist. Ein  klei-
nes  Männchen, was da auf dem Bildschirm
steht, würde sich doch viel  besser  ma-
chen,  wenn  es nicht nur uni-Weiß wäre,
sondern wenn es ein  gesundes  rosa  Ge-
sicht,  einen  gelben  Pulli,  und  eine
blaue Hose  hätte.  Sowas  spricht  doch
bestimmt  mehr  an,  als ein einfarbiger
Klotz, bei dem man nicht Körper von Kopf
unterscheiden kann. Nun, wie  die  Öber-
schrift  dieses  Kapitels zeigt, gibt es
auch die Möglichkeit, einem Sprite  MEH-
RERE  Farben zuzuordnen (multi=viel; co-
lor=Farbe;  multicolor=vielfarbig).   Um
das "viel" gleich schon etwas genauer zu
spezifizieren,  kann  ich  Ihnen  gleich
verraten, daß ein Sprite maximal  4  von
den  16 oben aufgelisteten Farben annhe-
men kann.                               
Die  Sache  mit  der  Vielfarbigkeit von
Sprites hat aber wiederum einen  kleinen
Haken.  Wir  müssen nämlich, wie bei der
Spriteexpansion  auch,   einen   kleinen
Auflösungsverlust   hinnehmen.   Diesmal
wird sie  halbiert,  jedoch  nur  in  X-
Richtung.  Das  heißt, daß wir mit einem
Multicolorsprite nur noch  12x21  Punkte
darstellen können.                      
Achtung, jetzt wirds kompliziert: Trotz-
dem wir zwar nur noch 12  Punkte  in  X-
Richtung   darstellen  können,  ist  das
Sprite  jedoch  immer  noch  24   Punkte
breit!  Deshalb  schauen Sie sich am be-
sten erst einmal die folgende Grafik an,
bevor ich mich  in  umständlichen  Erkl-
ärungen  verliere,  die  eh  keiner ver-
steht...                                
Valid HTML 4.0 Transitional Valid CSS!