SetPalette(id[, t])
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:
#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:
Frame:
Remap:
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:
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:
True
setzen, wird diese Wechseltabelle
auch in das Zielobjekt kopiert. Der Standardwert ist False
.
@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.