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.