Wirkungsvolle Effekte mit Farbpalettenmodifikationen

Im folgenden Artikel zeige ich Ihnen eine sehr einfache, aber wirkungsvolle Programmiertechnik auf, um mit recht wenig Aufwand Animationen zu erzeugen. Dazu erzeugen Sie eine Grafik mit regelmässigem Muster und aufsteigendem Farbcode:

10 SCREEN 7:KEY OFF:CLS
20 ' Grafik vorbereiten
30 FOR I%=37 TO 0 STEP -1
40 CIRCLE(160,100),5*I%+3,I% AND 15,,,1!
50 PAINT (160,100),I% AND 15
60 NEXT I%
70 ' Palette vorbereiten
80 DIM F%(15)
90 FOR I%=0 TO 15:F%(I%)=I%:NEXT I%
100 ' Ab hier Farbrotation
110 T!=TIMER
120 WHILE INKEY$=""
130 IF TIMER<T! THEN 210
140 H%=F%(0)
150 FOR I%=0 TO 14
160 F%(I%)=F%(I%+1)
170 NEXT I%
180 F%(15)=H%
190 PALETTE USING F%
200 T!=T!+.5
210 WEND
220 SCREEN 0:WIDTH 80,25
230 END

Kurze Kommentare zu diesem Beispiel für GWBASIC.EXE: Zuallererst werden als Muster einige konzentrische Kreise erstellt, bei welchen die Farbnummer nach innen jeweils zunimmt und nach 15 wieder bei 0 startet (Zeilen 30 bis 60). Anschliessend wird eine Farbtabelle vorbereitet (Zeile 90). Die eigentlich Animation erfolgt im WHILE-WEND-Block, wo jeweils alle ½ Sekunde die gesamte Farbpalette in F%() um 1 verschoben und mit PALETTE USING in die DAC-Register der Grafikkarte geladen wird.

Selbstverständlich können Sie auch nur einen Teil der Farben zyklisch rotieren lassen, um beispielsweise bei einem Titelbild nur die Umrahmung »laufen« zu lassen.


Wieder zurück zur Übersicht


© 2000 by Andreas Meile