★ APPLICATIONS ★ CREATION GRAPHIQUE ★ SUPERSCREENS (CPC AMSTRAD INTERNATIONAL) ★ |
Superscreens (CPC Amstrad International) | Applications Creation Graphique |
Anspruchsvolle Titelgrafiken mit ScreenCopy Zum Thema Grafik gehören neben selbsterstellten Zeichnungen auch ansprechende Titelbilder, die dem eigenen Programm erst den richtigen 'Pep' geben. Schließlich soll das Programm nicht nur den eigenen Bedarf decken, es soll zusätzlich auch bei eventuellen Zuschauern einen bleibenden Eindruck der eigenen Programmierkunst hinterlassen. Zeichenprogramme, mit denen sich anspruchsvolle Titel erstellen lassen, gibt es genug, das einzige, was stört, ist der immer gleiche Bildschirmaufbau beim Laden des Programms. Daß dies mit Hilfe eines zweiten Grafikbildschirms bedeutend besser geht, zeigt Ihnen unser kleines Tip-und-Trick- Programm. Der Aufbau einer Titelgrafik während des Ladens von Kassette oder Diskette besteht, wenn man von einigen kommerziellen Programmen einmal absieht, immer aus demselben Vorgang; die Zeilen werden mit einem Abstand von jeweils acht Pixelreihen nacheinander auf den Monitor gebracht. Dies erfüllt zwar seinen Zweck, die Programme tun genau das, was sie sollen, aber auf die Dauer wirkt das Ganze dann doch etwas eintönig. Abhilfe läßt sich zwar durch das Laden des Titelbildes in einen anderen Speicherbereich und darauffolgendes Kopieren in den Bildschirmspcicher durch eine kleine Kopierroutine, wie diese in Assembler geschriebene, schaffen: LD HL,&6000 Start des Bereichs, in den der Screen geladen wird LD DE,&C000 das eigentliche Ziel, der Bildschirm-Speicher LD BC,&3FFF Die Länge des Screens LDIR vertauschen RET zurück zum Hauptprogramm Aber dadurch werden noch lange nicht alle Möglichkeiten der CPC-Rechner voll ausgeschöpft. Um den ganzen Vorgang effektvoller zu gestalten, wurde ein kurzes Maschinenprogramm entwickelt, mit dessen Hilfe eine Vielzahl von Variationen für einen anspruchsvollen und interessanten Bildschirmaufbau erstellt werden können. Voraussetzung für die Funktion dieses Programmes ist das Vorhandensein der Titelbild- oder jeder anderen Grafik im Speicher ab Adresse &6000, der dann in den Bereich ab &C000 kopiert wird, wie oben im kurzen Assembler-Bei-spiel bereits einmal angeführt wurde. Das kleine Utility-Programm stellt dafür genaugenommen nur eine mathematische Funktion zur Verfügung, mit der man ein beliebig großes Rechteck auf dem Bildschirm bringen kann, welches einen Teil des Titelbildes enthält. Diese Funktion wird mit einem CALL-Befehl von BASIC aus mit folgender Syntax aufgerufen: CALL &A000 , X , Y , XLÄNGE , YLÄNGE.Die Variablen X und Y geben dabei die Koordinaten der linken unteren Ecke des Rechtecks an, während die Variablen XLÄNGE die horizontale Seitenlänge in Bytes und YLÄNGE die vertikale Seitenlänge in Pixel angeben. Die Wertebereiche der einzelnen Variablen sind dabei wie folgt einzuhalten:
Der Koordinatenursprung liegt übrigens links unten. Die Wertebereiche sind vom Mode unabhängig; dies bedeutet, daß in allen drei Modi genauso kleine oder große Rechtecke behandelt werden können. Der Grund dafür ist, daß die einzelnen Bytes des Bildschirmspeichers direkt angesprochen werden und nicht etwa auf die Zeichen zurückgegriffen wird. Daher kann man z.B. den Bildschirm mit 16000 (80x200) Rechtecken aufbauen, was Platz für enorme Gestaltungsmöglichkeiten offenläßt. Für diejenigen, die sich intensiver mit der Programmierung eines solchen Hilfsprogrammes beschäftigen wollen, haben wir im Anschluß an das BASIC-Listing auch noch den Assembler-Quellcode für den GENA-Assembler abgedruckt. Der Quelltext ist mit Kommentaren zur Programmierung versehen, so daß man anhand der Kommentare die Routine schnell versteht und eigene Versuche anstellen kann. Sollte Ihnen der Rechner tatsächlich mal eine Änderung etwas krumm nehmen, gibt es immer noch den Ausschalter, der ihn schnell aus seinen Endlosschleifen wieder zurückholt. Das BASIC-Programm besteht aus dem Lader und der nachstehenden Demonstration einiger Spezialeffekte. Wer also nicht zuviel abtippen will, braucht nur die Zeilen 100- 290 einzugeben. In der Zeile 240 wird die Bildschirmgrafik in das Programm eingebunden. Hier können Sie selbst entscheiden. welche Grafik Sie nehmen möchten, Sie brauchen nur den Namen des Screens in die Zeile 240 für ' demobild, bin' einzusetzen und das Hochkomma vor der Zeile zu entfernen. Allerdings sollten Sie sich die Demo-Programmteile nicht entgehen lassen, dort wird ein kleiner Überblick über die verschiedenen Gestaltungsmöglichkeiten geliefert. Um die unterschiedliche Wirkung durch verschieden große Rechtecke richtig zu erkennen, sollten Sie einmal die Variablen xla und yla in Zeile 420 nach Belieben verändern. Die Abbildungen 2 — 4 zeigen, was man aus einem Original-Bildschirm-titel so alles machen kann.
|