SelectAnim(id, frame[, mode, combomode])
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().
#SELMODE_NORMAL
oder #SELMODE_COMBO
sein; voreingestellt
ist #SELMODE_NORMAL
(V4.5)#SELMODE_COMBO
aktiv ist, kann
0,1 oder 2 eingesetzt werden (siehe oben); voreingestellt ist 0 (V5.0)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.