Bezeichnung
ANIM -- lädt eine Animation vor (V2.0)
Übersicht
@ANIM id, filename$[, table]
Beschreibung
Diese Präprozessor-Anweisung lädt die in filename$ angegebene Animation und weist ihr den Identifikator id zu.

Anim-Formate, die auf allen Plattformen von Hollywood unterstützt werden, sind IFF ANIM, GIF ANIM, AVI (unkomprimiert oder mit Motion-JPEG-Komprimierung) und Formate, für die Sie ein Plugin haben. Je nach Plattform, auf der Hollywood ausgeführt wird, können mehr Anim-Formate unterstützt werden. Zum Beispiel wird Hollywood auf Amigakompatiblen Systemen in der Lage sein, alle Anim-Formate zu öffnen, für die Sie Datatypes haben. Unter Windows kann @ANIM auch Animationsformate laden, die von der Windows-Imaging-Komponente unterstützt werden.

Ab Hollywood 4.5, kann @ANIM auch automatisch Animationen aus einer Bilddatei erstellen, wenn Sie das optionale Argument Frames angeben. Siehe unten für weitere Informationen.

Das dritte Argument ist optional. Es ist eine Tabelle, mit der Sie weitere Möglichkeiten für den Ladevorgang einstellen können. Folgende Tags stehen zur Verfügung:

Transparency:
Mit diesem Tag können Sie eine Farbe in RGB-Notation angeben, die in der Animation transparent werden soll.

Link:
Setzen Sie diesen Tag auf False, wenn Sie diese Animation beim Kompilieren nicht in die ausführbare Datei oder ins Applet einbinden möchten. Diesen Tag ist standardmäßig auf True gesetzt, womit die Animation in Ihre Datei oder mit ihrem Applet im Kompilierungsmodus eingebunden ist.

FromDisk:
Wenn Sie diesen Tag auf True setzen, wird Hollywood nicht die gesamte Animation in den Speicher, sondern wenn nötig nur die einzelnen Bilder direkt von der Festplatte laden. Dies ist langsamer, aber erfordert viel weniger Speicher. Für die Befehle der Animbibliothek spielt es keine Rolle, ob die Animation vollständig im Speicher ist oder dynamisch von der Festplatte geladen wird. Sie können alle Anim-Befehle wie ScaleAnim() auch mit Anims verwenden, die von der Festplatte geladen werden. Animebenen werden auch mit Plattenanimationen korrekt behandelt. (V3.0)

LoadAlpha:
Setzen Sie diesen Tag auf True, wenn der Alphakanal der Animation auch geladen werden soll. Bitte beachten Sie, dass die meisten Animformate keine Alphakanäle unterstützen. Daher ist es ratsam, dass Sie die Animation manuell aus einem PNG-Bild mit CreateAnim() erstellen, wenn Sie einen Alphakanal in Ihrer Animation haben müssen. Dieser Tag ist standardmäßig auf False gesetzt. (V4.5)

X, Y, Width, Height, Frames, FPR:
Diese Gruppe von Tags müssen Sie nur verwenden, wenn Sie eine Bilddatei als Quelle angeben, damit @ANIM aus dem Bild eine Animation erstellen kann. Width und Height (Breite und Höhe) definieren die Dimensionen für die Animation und Frames gibt an, wie viele Einzelbilder @ANIM aus dem Quellbild lesen wird. Wenn die Einzelbilder in mehreren Reihen im Quellbild gespeichert sind, müssen Sie auch das Argument FPR (Abkürzung für Frames (Einzelbilder) pro Reihe) verwenden, um @ANIM zu mitzuteilen, wie viele Bilder es in jeder Reihe hat. Schließlich kann man mit den Tags X und Y angeben, wo in der Bilddatei @ANIM mit dem Scannen starten soll (beide standardmäßig auf 0 gesetzt). @ANIM wird dann an der Position X/Y die in Frames definierte Anzahl Bilder mit den Abmessungen von Width und Height aus der Bilddatei filename$ lesen. Nachdem es die in FPR angegebene Anzahl Bilder gelesen hat, wird es in die nächste Zeile vorrücken. (V4.5)

SkipLoopFrames:
Wenn Sie diesen Tag auf True setzen, wird Hollywood automatisch die letzten beiden Einzelbilder der Animation überspringen. Dies ist nur für IFF-Anims erforderlich, die zwei Schleifeneinzelbilder (loop frames) am Ende der Animation haben. Die automatische Erkennung von Schleifeneinzelbilder ist nicht möglich, denn das würde von Hollywood erfordern, zunächst die gesamte Animation zu dekodieren. Deshalb müssen Sie Hollywood manuell mitteilen, ob die Animation Schleifeneinzelbilder hat oder nicht. (V5.3)

Deinterlace:
Hiermit können Sie festlegen, wie Hollywood interlaced Anims darstellen soll. Dies kann entweder #DEINTERLACE_DEFAULT oder #DEINTERLACE_DOUBLE eingestellt werden. Wenn Sie #DEINTERLACE_DEFAULT benutzen (das ist, wie der Name auch impliziert, voreingestellt), wird Hollywood zwei Halbbilder in ein Vollbild kombinieren. Dies geschieht meist in bester Qualität, kann aber zu visuelle Artefakte führen, wenn eine Menge Bewegungen in der Animation vorkommen. Wenn Sie stattdessen #DEINTERLACE_DOUBLE verwenden, wird Hollywood die Zeilen eines Halbbildes verdoppeln, um ein Vollbild zu erhalten. Dies führt zu einem gewissen Qualitätsverlust, kann aber die Animation zu einem glatteren Aussehen verhelfen. Welches der bessere Deinterlacing-Modus ist, hängt immer von der Anim ab. Beachten Sie, dass Sie sich normalerweise überhaupt nicht um diesen Tag kümmern müssen, weil Deinterlacing eigentlich nur für einige obskure IFF-Formate erforderlich ist, die ANIM16i und ANIM32i Interlaced-Einzelbilder speichern. (V5.3)

Loader:
Mit diesem Tag können Sie ein oder mehrere Formatlademodule angeben, die die Anim laden soll. Dies muss mit einer Zeichenkette festgelegt werden, die den/die Namen eines oder mehreren Lademodulen beinhaltet. Standardmäßig wird der mit SetDefaultLoader() eingestellte Lader verwendet. Siehe Lade- und Adaptermodule für Details. (V6.0)

Adapter:
Mit diesem Tag können Sie einen oder mehrere Dateiadapter angeben, der die angegebene Datei öffnet. Dies muss mit einer Zeichenkette festgelegt werden, die den/die Namen eines oder mehreren Adaptermodulen beinhaltet. Standardmäßig wird der mit SetDefaultAdapter() eingestellte Adapter verwendet. Siehe Lade- und Adaptermodule für Details. (V6.0)

LoadTransparency:
Ist dieser Tag auf True gesetzt, wird die monochrome Transparenz der Animation geladen. Bitte beachten Sie, dass dieser Tag speziell für monochrome Transparenzkanäle ausgelegt ist, die einen transparenten Stift in einer palettenbasierten Animation haben. Wenn Sie den Alphakanal einer Animation laden möchten, stellen Sie den Tag LoadAlpha auf True. Dieser LoadTransparency-Tag ist standardmäßig auf False gesetzt. (V6.0)

LoadPalette:
Wenn dieser Tag auf True gesetzt ist, lädt Hollywood die Animation als Palettenanimation. Dies bedeutet, dass Sie die Palette der Animation abrufen und ändern können, was für bestimmte Effekte wie Farbwechsel nützlich ist. Sie können Stifte auch mit dem Tag TransparentPen (siehe unten) oder dem Tag LoadTransparency (siehe oben) transparent machen. Palettenanimationen haben auch den Vorteil, dass weniger Speicher benötigt wird, da 1 Pixel nur 1 Byte Speicher anstelle von 4 Byte für 32-Bit-Bilder benötigt. Dieser Tag ist standardmäßig auf False eingestellt. (V9.0)

TransparentPen:
Wenn der Tag LoadPalette auf True gesetzt wurde (siehe oben), kann mit dem Tag TransparentPen ein Stift definiert werden, der transparent gemacht werden soll. Stifte werden ab 0 gezählt. Alternativ können Sie den Tag LoadTransparency auch auf True setzen, um Hollywood zu zwingen, den in der Animationsdatei gespeicherten transparenten Stift zu verwenden (sofern das Animationsformat die Speicherung transparenter Stifte unterstützt). Dieser Tag ist standardmäßig auf #NOPEN gesetzt. (V9.0)

UserTags:
Dieser Tag kann verwendet werden, um zusätzliche Daten anzugeben, die an Lader und Adapter übergeben werden sollen. Wenn Sie diesen Tag verwenden, müssen Sie ihn auf eine Tabelle mit Schlüssel-Wert-Paaren setzen, die die zusätzlichen Daten enthalten, die an Plugins übergeben werden sollen. Siehe Benutzer-Tags für Details. (V10.0)

Bitte beachten Sie, dass die Tags Transparency, LoadTransparency und LoadAlpha sich gegenseitig ausschließen. Eine Animation kann nicht eine Maske und einen Alphakanal haben!

Ab Hollywood 9.0 kann diese Präprozessor-Anweisung auch Vektor-Animationsformate laden, wenn Sie ein entsprechendes Plugin installiert haben. Beachten Sie jedoch, dass beim Laden von Vektor-Animationsformaten mit @ANIM die Animation möglicherweise nicht alle Funktionen normaler Animationen unterstützt. Siehe Vektoranimationen für weitere Informationen zu Vektoranimationen.

Möchten Sie Animationen manuell laden, benutzen Sie den Befehl LoadAnim().

Eingaben
id
ein Wert, der diese Animation später im Code identifiziert
filename$
die Animationsdatei
table
optional: eine Tabelle, die eine Kombination der oben erwähnten Tags enthält
Beispiel
@ANIM 1, "MyAnim.gif"
Lädt "MyAnim.gif" als Animation Nummer 1.


@ANIM 1, "MyAnim.gif", {Transparency = $FF0000}
Ist das gleiche wie oben, aber die Animation ist jetzt transparent (Transparenzfarbe ist Rot = $FF0000).


@ANIM 1, "Huge_Animation.iff", {Link = False}
Der obige Code lädt die angegebene Animation und erklärt Hollywood, beim Kompilieren die Animation nicht mit dem ausführbaren Programm oder Applet zu verknüpfen, weil sonst die Datei zu groß wird.

Navigation zeigen