Bezeichnung
SetPalette -- wechselt die Palette (V9.0)
Übersicht
SetPalette(id[, t])
Beschreibung
Dieser Befehl ersetzt alle Stifte in der aktuell aktiven Palette durch die Stifte aus der in id angegebenen Palette. Standardmäßig ist die Palette des aktuellen Displays die aktive Palette, aber natürlich nur, wenn das aktuelle Display ein Palettenmodus-Display ist. Siehe Palettenmodus-Displays für Details. Mit dem Befehl SelectPalette() kann eine Palette aktiviert werden.

Alternativ kann die in id angegebene Palette auch auf andere Objekte kopiert werden. Dazu müssen Sie das optionale Tabellenargument an SetPalette() übergeben und den Typ im Tag Type und den Identifikator im Tag ID festlegen. Gehen Sie beispielsweise wie folgt vor, um Pinsel 2 die Palette 1 zuzuweisen:

 
SetPalette(1, {Type = #BRUSH, ID = 2})

Die folgenden Tags werden durch das optionale Tabellenargument t unterstützt:

Type:
Stellen Sie dies auf den Identifikator des Objekts ein, in das Sie die Palette kopieren möchten. Dies kann einer der folgenden Objekttypen sein:

 
#ANIM
#BGPIC
#BRUSH
#DISPLAY
#LAYER
#PALETTE
#SPRITE

Beachten Sie, dass Sie bei Verwendung der Typen #ANIM oder #SPRITE auch den Tag Frame (siehe unten) setzen müssen, um das Einzelbild anzugeben, dessen Pixeldaten verwendet werden sollen. Wenn Sie #LAYER verwenden und die angegebene Ebene eine Animationsebene ist, müssen Sie auch den Tag Frame setzen.

Type ist standardmäßig der Typ der aktuell aktiven Palette, die mit dem Befehl SelectPalette() gewählt wurde. Siehe SelectPalette für Details.

ID:
Setzen Sie diesen Tag auf den Identifikator des Objekts, in das Sie die Palette kopieren möchten. Die Standardeinstellung ist die ID der aktuell aktiven Palette, die mit SelectPalette() ausgewählt wurde. Siehe SelectPalette für Details.

Frame:
Wenn die Palette in eine Animation, ein Sprite oder eine Animationsebene kopiert werden soll, müssen Sie diesen Tag setzen, um das Einzelbild anzugeben, in das die Palette kopiert werden soll. Die Einzelbilder werden von 1 an gezählt. Bei der Verwendung mit Animationen und Sprites wird standardmäßig 1 und mit Animationsebenen das aktuelle Einzelbild verwendet.

Remap:
Wenn dies auf True gesetzt ist, werden die Farben des Zielobjekts neu zugeordnet, um den Farben in der Quellpalette so genau wie möglich zu entsprechen. Standardmäßig erfolgt keine Neuzuordnung und die tatsächlichen Pixeldaten des Zielobjekts bleiben unberührt. Wenn Sie eine Neuzuordnung wünschen, setzen Sie diesen Tag auf True. Beachten Sie jedoch, dass die Neuzuordnung aller Pixel natürlich viel länger dauert als das Festlegen einer neuen Palette ohne Neuzuordnung. Der Standardwert ist False.

Dither:
Wenn der Tag Remap (siehe oben) auf True gesetzt wurde, können Sie mit dem Tag Dither angeben, ob Dithering verwendet werden soll oder nicht. Der Standardwert ist True, was bedeutet, Dithering wird verwendet.

CopyCycleTable:
Paletten können eine Tabelle mit Informationen zum Farbwechsel enthalten. Wenn Sie diesen Tag auf True setzen, wird diese Wechseltabelle auch in das Zielobjekt kopiert. Der Standardwert ist False.

Eingaben
id
id der Palette, welche gesetzt werden soll
t
optional: Tabelle mit weiteren Optionen (siehe oben)
Beispiel
@DISPLAY {Palette = #PALETTE_MONOCHROME}
SetFillStyle(#FILLCOLOR)
SetPaletteMode(#PALETTEMODE_PEN)
SetDrawPen(1)
Box(#CENTER, #CENTER, 320, 240)
WaitLeftMouse
CreatePalette(1, {#WHITE, #BLACK}, {Depth = 1})
SetPalette(1)
Der obige Code erstellt eine monochrome Palettendarstellung mit einem schwarzen Hintergrund und einem weißen Rechteck in der Mitte. Nach einem Mausklick werden die Farben des Hintergrunds und des weißen Rechtecks vertauscht, indem eine neue Palette festgelegt wird, die in Stift 0 Weiß anstelle von Schwarz und in Stift 1 Schwarz anstelle von Weiß verwendet.

Navigation zeigen