RSPRITE

Aus C64-Wiki
Wechseln zu: Navigation, Suche
RSPRITE
Format: RSPRITE(<Sprite>,<n>)
Parameter
<Sprite>: numerischer Ausdruck im Wertebereich von 1 bis 8
<n>: numerischer Ausdruck im Wertebereich von 0 bis 5
Einordnung
Typ: numerische Funktion
Kontext: Sprites
Aufgabe: Attribute eines Sprites ermitteln
Abkürzung: rS
Verwandte Befehle
RSPCOLOR, RSPPOS, SPRITE

Anmerkung: Dieser Artikel beschreibt die BASIC-Funktion RSPRITE ab Commodore BASIC V7.0 oder höher.


Die Funktion RSPRITE dient dazu, die einem Sprite zugeordneten Attribute abzufragen.

Die Funktion besitzt folgende Parameter:

  • <Sprite>: Nummer, des Sprites, dessen Attribute abgefragt werden. Der Parameter muss im Wertebereich von 1 bis 8 liegen, sonst wird die Fehlermeldung ?ILLEGAL QUANTITY ERROR ausgegeben.
  • <n>: Gibt das abzufragende Attribut an. Der Parameter darf folgende Werte annehmen:
    • 0: ermittelt, ob das Sprite aktiv ist. Rückgabewerte 0 steht für ein inaktives, 1 für ein aktives Sprite
    • 1: gibt die Farbe des Sprites zurück. Dem Rückgabewert entsprechen folgende Farben:
Farb-
wert
Farbname Farbe Farb-
wert
Farbname Farbe
1 Schwarz 9 Orange
2 Weiß 10 Braun
3 Rot 11 Hellrot
4 Türkis 12 Grau 1
5 Violett 13 Grau 2
6 Grün 14 Hellgrün
7 Blau 15 Hellblau
8 Gelb 16 Grau 3

Der VIC-Farbcode (entsprechend der C64-Farbtabelle) ergibt sich aus dem Farbwert minus 1.

  • 2: ermittelt die Sprite-Priorität. Bei Rückgabewert 0 überdeckt das Sprite den Bildschirmvordergrund, bei 1 wird es vom Vordergrund überdeckt.
  • 3: ermittelt, ob das Sprite horizontal gedehnt ist. Bei Rückgabewert 0 wird das Sprite normal dargestellt, bei 1 horizontal gedehnt.
  • 4: ermittelt, ob das Sprite vertikal gedehnt ist. Bei Rückgabewert 0 wird das Sprite normal dargestellt, bei 1 vertikal gedehnt.
  • 5: ermittelt den Farbmodus. Bei Rückgabewert 0 ist das Sprite einfarbig, bei 1 dagegen mehrfarbig.
Andere Werte für <n> verursachen die Fehlermeldung ?ILLEGAL QUANTITY ERROR.

Eine Zeichenkette als Parameter führt zu einem ?TYPE MISMATCH ERROR. Fehlen Parameter oder sind mehr als 2 angegeben, wird ein ?SYNTAX ERROR ausgegeben.


Gesetzt werden können die Attribute mit der Anweisung SPRITE.

Beispiele[Bearbeiten]

PRINT RSPRITE(1,0)

Gibt auf dem Bildschirm 1 aus, falls das erste Sprite eingeschaltet ist, ansonsten 0.

SPRITE 1,,(RSPRITE(1,1) AND 15) + 1

Setzt die Farbe des Sprites auf den nächsten Wert in der Farbtabelle.