Commodore 128 Bedienungshandbuch
Commodore
128 System Guide
COLLISION-Anweisung
Format: COLLISION Typ[,Zeilennummer] Zweck: Inaktiviert oder aktiviert die Programmunterbrechung für Sprite-Kollisionen und definiert im letzteren Fall eine Programmzeile für Programmverzweigung bei Kollisionen.
Typ Ganzzahliger Wert zwischen 1 und 3, der das Ereignis definiert, das zur Unterbrechung führen soll. Es gilt:
1 Sprite-Sprite-Kollision
2 Sprite-Anzeigedaten-Kollision
3 Lichtstift-Aktivierung
Zeilennummer Eine gültige Programmzeilennummer, zu der bei Unterbrechung verzweigt werden soll.Bemerkungen: Wenn das angegebene Ereignis eintritt, führt der Interpreter die augenblicklich interpretierte Anweisung noch zuende und verzweigt dann mit GOSUB zu der angegebenen Zeilennummer. Das dort zu durchlaufende Unterprogramm muß mit einer RETURN-Anweisung abgeschlossen sein. Anschließend wird das Programm mit der auf die unterbrochene Anweisung folgenden Anweisung fortgesetzt.
Wird Zeilennummer weggelassen, wird die Programmunterbrechung für das spezifizierte Ereignis inaktiviert.
Es können mehrere verschiedene Unterbrechungsereignisse gleichzeitig aktiviert sein; es kann jedoch zu einer Zeit immer nur eine Unterbrechung bearbeitet werden. Unterbrechungsschachtelung ist also nicht möglich.
Es muß berücksichtigt werden, daß die Ursache für eine Programmunterbrechung eine Zeit lang wirksam sein kann, obwohl bereits eine andere Situation vorliegt oder die Unterbrechung inzwischen inaktiviert wurde.
Verschwindet ein Sprite vom sichtbaren Bereich des Bildschirms, kann es auch keine Unterbrechung mehr auslösen.
Um das Sprite zu bestimmen, das seit der letzten Abfrage eine Kollision verursacht hat, kann die BUMP-Funktion (s. dort) verwendet werden.Beispiel: 100 COLLISION 2,500
Das Programm verzweigt zu einem Unterprogramm bei Zeile 500, sobald eine Kollision zwischen einem Sprite und angezeigten Daten erfolgt.
Auszug aus dem Commodore C128 (D) Bedienungshandbuch: Seite 4-33 bis 4-34