Bezeichnung
SelectAnim -- wählt ein Animationseinzelbild als Ausgabeziel (V4.5)
Übersicht
SelectAnim(id, frame[, mode, combomode])
Beschreibung
Dieser Befehl wählt das angegebene Animationseinzelbild (Frame) als das aktuelle Ausgabeziel. Dies bedeutet, dass alle von Hollywood erzeugten Grafikdaten auf dieses Einzelbild geschrieben werden. Sie müssen die id der Animation sowie das Einzelbild angeben.

Das optionale Argument mode ist standardmäßig auf #SELMODE_NORMAL gesetzt, was bedeutet, dass nur die Farbkanäle der Animation geändert werden. Der Transparenzkanal der Animation (kann entweder eine Maske oder ein Alphakanal sein) wird nicht verändert. Wenn Sie hingegen beim optionalen Argument mode #SELMODE_COMBO angeben, werden alle Grafikbefehle von Hollywood, welche nach SelectAnim() aufgerufen werden, in den Farb- und Transparenzkanal der Animation zeichnen. Wenn die Animation keinen Transparenzkanal hat, verhält sich #SELMODE_COMBO gleich wie #SELMODE_NORMAL.

Ab Hollywood 5.0 können Sie das optionale Argument combomode verwenden, um festzulegen, wie sich #SELMODE_COMBO verhalten soll. Wenn combomode auf 0 gesetzt ist, werden die Farb- und Transparenzinformation aller Pixel in dem Quellenbild in jedem Fall zu dem Zielbild kopiert, selbst wenn die Pixel unsichtbar sind. Dies ist auch voreingestellt. Wenn combomode hingegen auf 1 gesetzt ist, werden nur die sichtbaren Pixel in das Zielbild kopiert. Dies bedeutet, dass, wenn der Alphawert eines Pixels in dem Quellenbild 0 ist (unsichtbar), wird es nicht in das Zielbild kopiert werden.

Ab Hollywood 6.0 steht die neue combomode 2 zur Verfügung. Wenn Sie 2 in combomode übergeben, wird Hollywood die Farbkanäle und den Alphakanal des Quellbildes mit der Farbe und Alpha der Zielbildkanäle mischen. Wenn Sie später das Zielbild zeichnen, wird es so aussehen, als ob ein Bild hintereinander auf das jeweils andere gezeichnet wurde. Bitte beachten Sie, dass das Argument combomode nur zusammen mit #SELMODE_COMBO unterstützt wird. Es hat keine Wirkung, wenn sie es mit den anderen Modi verwenden.

Ein alternativer Weg in die Transparenzkanäle einer Animation zu zeichnen, ist dies separat mit den Befehlen SelectMask() oder SelectAlphaChannel() zu erledigen. Diese beiden Befehle werden jedoch die Schreibdaten nur auf den Transparenzkanal anwenden und somit den Farbkanal nicht ändern. Also, wenn Sie beide Kanäle (Farbe und Transparenz) ändern wollen, müssen Sie SelectBrush() mit mode #SELMODE_COMBO verwenden.

Wenn Sie mit dem Ändern der Animation fertig sind und möchten, dass Ihr Display wieder das Ausgabeziel wird, rufen Sie einfach den Befehl EndSelect() auf.

Beachten Sie, dass Sie alle Befehle, die die Animation ändern, nicht aufrufen, während ein Einzelbild der Animation als Ausgabeziel ausgewählt ist (insbesondere ScaleAnim(), FreeAnim() oder ModifyAnimFrames()).

Nur Befehle von Hollywood können verwendet werden, welche Grafiken direkt zeichnen, wenn SelectAnim() aktiv ist. Sie können keine animierten Befehle wie MoveAnim() oder DisplayBrushFX() aufrufen, solange SelectAnim() aktiv ist.

Dieser Befehl funktioniert nur mit vollständig im Speicher gepufferten Animationen. Sie können ihn nicht für Animationen verwenden, die direkt von der Festplatte abgespielt werden.

Siehe auch EndSelect(), SelectAlphaChannel(), SelectBrush(), SelectMask(), SelectLayer() und SelectBGPic().

Eingaben
id
Animation, welche als Ausgabeziel verwendet werden soll
mode
optional: Darstellungsmodus (siehe oben); dies kann entweder #SELMODE_NORMAL oder #SELMODE_COMBO sein; voreingestellt ist #SELMODE_NORMAL (V4.5)
combomode
optional: Wenn #SELMODE_COMBO aktiv ist, kann 0,1 oder 2 eingesetzt werden (siehe oben); voreingestellt ist 0 (V5.0)
Beispiel
SelectAnim(1, 5)
SetFillStyle(#FILLCOLOR)
Box(0, 0, 320, 256, #RED)
EndSelect()
Dieses Beispiel zeichnet ein 320x256 großes Rechteck in das Einzelbild der Animation 1.

Navigation zeigen