CHECK
CHECK | |
Syntax: | CHECK(<n>) bzw. CHECK(<n1>,<n2>) |
Parameter | |
n: 0..7 (Nummer des Sprites) | |
n1: 0..7 (Nummer des 1. Sprites) | |
n2: 0..7 (Nummer des 2. Sprites) | |
Einordnung | |
Typ: | boolsche Funktion |
Kontext: | Sprites |
Aufgabe: | Sprite kontrollieren |
Abkürzung: | keine |
Token: | $64 $7c (100 124) |
Verwandte Befehle | |
RLOCMOB - MMOB - DETECT - MOB OFF |
Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort CHECK.
Typ: boolsche Funktion Syntax: CHECK(<n>) bzw. CHECK(<n1>,<n2>)
CHECK überprüft Sprite-Kollisionen, die mit DETECT vorbereitet wurden. Die Funktion liefert dabei entweder den Wert 1 (keine Kollision) oder 0 zurück (gesuchte Kollision hat sich ereignet). CHECK(<n>) (nur ein Argument) ist dabei für die Kollisionsabfrage Sprite-Hintergrund zuständig, CHECK mit zwei Argumenten für diejenige zwischen zwei Sprites.
Will man herausfinden, ob überhaupt eine Sprite-Sprite-Kollision stattgefunden hat (egal, mit welchem Sprite), schreibt man zweimal das gleiche Argument (die Nummer des Sprites, das an der Kollision beteiligt sein soll) in die Klammer: k = CHECK(1,1).
Achtung: Die Nummern der Sprites werden nicht auf Plausibilität geprüft, so dass Werte bis 255 akzeptiert werden, die natürlich zu völlig falschen Ergebnissen führen (in TSB behoben). Je nach Wahl des Parameters von DETECT liefert die Funktion CHECK einen ?SYNTAX ERROR, wenn die Anzahl Argumente nicht stimmt (DETECT 0 braucht CHECK(<n1>,<n2>), DETECT 1 dagegen CHECK(<n>).)
Anmerkung: Das Schlüsselwort CHECK verweist auf dieselbe Adresse wie DETECT. Daher ist es möglich, CHECK als Befehl zu benutzen mit derselben Syntax und Wirkung wie bei DETECT. Bitte in diesem Zusammenhang beachten: In TSB hat der Befehl CHECK eine andere Bedeutung.
Beispiele[Bearbeiten | Quelltext bearbeiten]
100 DETECT 0: k1 = CHECK(1,4)
Haben sich Sprites 1 und 4 berührt?
110 DETECT 0: k2 = CHECK(1,1)
Wurde Sprite 1 von irgendeinem anderen berührt?
120 DETECT 1: k3 = CHECK(2)
Hat Sprite 2 den Hintergrund berührt?
$ | % | @ | ANGL | ARC | AT | AUTO | BCKGNDS | BFLASH | BLOCK | CALL | CENTRE | CGOTO | CHAR | CHECK | CIRCLE | CMOB | COLD | COLOUR | COPY | CSET | DELAY | DESIGN | DETECT | DIR | DISABLE | DISAPA | DISK | DISPLAY | DIV | DOWN | DRAW | DUMP | DUP | ELSE | END LOOP | END PROC | ENVELOPE | ERRLN | ERRN | EXEC | EXIT | EXOR | FCHR | FCOL | FETCH | FILL | FIND | FLASH | FRAC | GLOBAL | GRAPHICS | HI COL | HIRES | HRDCPY | INKEY | INSERT | INST | INV | JOY | KEY | LEFT | LIN | LINE | LOCAL | LOOP | LOW COL | MEM | MERGE | MMOB | MOB OFF | MOB SET | MOD | MOVE | MULTI | MUSIC | NO ERROR | NRM | OFF | OLD | ON ERROR | ON KEY | OPTION | OUT | PAGE | PAINT | PAUSE | PENX | PENY | PLACE | PLAY | PLOT | POT | PROC | RCOMP | REC | RENUMBER | REPEAT | RESET | RESUME | RETRACE | RIGHT | RLOCMOB | ROT | SCRLD | SCRSV | SECURE | SOUND | TEST | TEXT | TRACE | UNTIL | UP | USE | VOL | WAVE