@ANIM id, filename$[, table]
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:
Link:
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:
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:
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:
@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:
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:
#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:
Adapter:
LoadTransparency:
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:
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:
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:
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().
@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.