★ APPLICATIONS ★ PROGRAMMATION ★ Sprites Basic ★ |
Sprites Basic (CPC Amstrad International) | Applications Programmation |
Sprite BASIC ist eine Erweiterung des Locomotive BASIC um sechs weitere Befehle, die die Erzeugung und Steuerung von bis zu acht verschiedenen Sprites erlaubt. Die Befehle selbst sind keine RSX-Kommandos, sondern lassen sich, ähnlich unkompliziert wie die herkömmlichen BASIC-Befchle des CPC 464, einsetzen. Sprite BASIC befindet sich im oberen Ende des freien RAM-Speichers, belegt ca. 3 KB und ist voll Diskcttenkompatibel. d.h.. der unter AMSDOS reservierte Speicherbereich bleibt auch weiterhin unangetastet. Anweisung zum Erstellen einer schlüsselfertigen Version anhand der Listings: Nachdem Sie das Programm LOADER abgetippt haben, speichern Sie es auf einen geeigneten Datenträger ab. Danach alles löschen, den CREATOR abtippen, starten und den erzeugten Maschinencodc direkt hinter dem LOADER abspeichern. Zur Sicherheit den CREATOR auch auf einen Datenträger abspeichern. Darauf den Computer total zurücksetzen und den LOADER (am besten mit RUN") wieder einladen, jetzt erst mit dem Abtippen und Speichern der Programme DESIGNER und DEMO beginnen. Um mit den neuen Befehlen arbeiten zu können, muß man immer erst den LOADER laden und ablaufen lassen. Er reserviert den nötigen Speicherplatz, verschiebt den Zeichcnsatz weiter nach unten und bindet das nachgeladene Maschinencodeprogramm in den BASIC-Interpreter des CPC 464 ein. Die Anwendung der Programme DEMO und DESIGNER ist nur mit vorher aktiviertem Sprite BASIC möglich. Ersteres erzeugt nacheinander 8 Sprites und bewegt sie zufallsgesteuert über den Bildschirm, wobei nach einer Kollision jeweils der Sprite verschwindet, der diese hervorgerufen hat. Der DESIGNER hingegen erlaubt die einfache Konstruktion der Sprites. Dies geschieht wahlweise über die Cursortasten oder einen Joystick. Die Größe der einzelnen Sprites kann individuell festgelegt werden. Des weiteren spielt der Bildschirmmodus" eine wichtige Rolle. Nachdem diese Eingaben für die gewünschten Sprites gemacht wurden, kommen wir zur eigentlichen Konstruktion der Sprites. Ein blinkender Cursor markiert die aktuelle Position, auf der gegenüber dem Original fünffach vergrößerten Arbeitsfläche. Mit dem Feuerknopf oder der Copycursortaste werden die einzelnen Punkte gesetzt: mit DEL können sie wieder gelöscht werden. Die Funktionen der Tasten 'P' und T entsprechen den PEN- und INK-Kommandos. Durch zweimaliges Drücken der F.NTF.R-Taste beendet man diesen Arbeitsschritt und gelangt so zum nächsten Sprite. Danach kann man die so erzeugten Sprites abspeichern. Die Einzelbeschreibung der Befehle: Dieser Befehl erwartet mindestens drei Angaben: Die Spritenum mer (s:0-7), die Breite (b: 1 -8) und die Höhe (h: 1-32)des zu erzeugenden Sprites. Die Breite wird in Bytes angegeben, da die Anzahl der Punkte in der Horizontalen abhängig vom jeweiligen Bildschirmmodus ist.
Wenn man mehr als einen Sprite gleichzeitig definieren will, so kann man die dazu nötigen Parameter zusammen in einem DEFSPR-Befehl angeben.
Byte: Höhe Die reservierten Bereiche für die Spritematrizen zählen jeweils 256 Bytes und beginnen bei der Adresse 39772.
IF PEEK(a) AND sIs THEN ... a ist die Adresse und s ist die Nummer des zu testenden Sprites.
Auflistung der neu hinzugekommenen Systemvariablen: (Die Befehle in Klammern beeinflussen die Flagregister) 47850 Zielpunkt erreicht? 47851 Zielpunkt definiert? 47852 Sprite abgebildet? 47853 Überlagerung? 47854/55 Zeilenadresse von ON AIM GOSUB 47856/57 Zeilenadresse von ON CRASH GOSUB Um die automatischen Sprungbefehle innerhalb eines Programms wieder rückgängig machen zu können, genügt es, die entsprechenden Speicherzellen mit zwei POKE.-Befehlen auf 0 zu setzen. Mit Erscheinen der 'Ready'-Meldung wurden alle Systemvariablen von Sprite BASIC wieder gelöscht, so daß der Einsatz der neuen Befehle im Direktmodus unter Umständen nicht das gewünschte Resultat erbringt.
|