Bezeichnung
SPRITE -- lädt einen Sprite vor (V2.0)
Übersicht
@SPRITE id, filename$[, table]
Beschreibung
Diese Präprozessor-Anweisung lädt den in filename$ angegebene Sprite vor und weist ihm den Identifikator id zu.

Unterstützte Bildformate sind PNG, JPEG, BMP, IFF ILBM und einige mehr, je nachdem auf welcher Plattform Hollywood läuft. Ab Hollywood 4.5, @SPRITE kann auch Animationsformate (IFF ANIM, GIF ANIM, unkomprimierte AVIs oder AVIs mit Motion-JPEG-Kompression) öffnen und wandelt diese Animationen direkt in ein Sprite um.

Das dritte Argument ist optional. Es ist eine Tabelle, die weitere Möglichkeiten für den Ladevorgang verwendet. Die folgenden Felder der Tabelle können benutzt werden:

Transparency:
Dieses Feld kann verwendet werden, um eine Farbe mit einem RGB-Wert anzugeben, die im Sprite transparent sein soll.

LoadAlpha:
Setzen Sie dieses Feld auf True, wenn der Alphakanal des Bildes auch geladen werden soll. Bitte beachten Sie, dass nicht alle Bilder einen Alphakanal haben und dass nicht alle Bildformate in der Lage sind, Alphakanaldaten zu speichern. Es wird vorgeschlagen, dass Sie das PNG-Format verwenden, wenn Sie Alphakanaldaten benötigen. Dieser Tag ist standardmäßig False. (4.5)

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

X, Y, Width, Height, Frames, FPR:
Diese Felder können für die Feinabstimmung des Ladevorgangs verwendet werden. Mit diesen Feldern erstellen Sie einen Sprite mit mehreren Einzelbilder aus einem einzigen Bild. Width und Height definieren die Dimensionen für den Sprite und Frames gibt an, wie viele Einzelbilder @SPRITE aus dem Bild lesen wird. Wenn die Einzelbilder in mehreren Reihen im Quellbild abgelegt sind, werden Sie auch das Argument FPR übergeben müssen (steht für Frames per row (Einzelbild pro Zeile)), um @SPRITE mitzuteilen, wie viele Bilder es in jeder Reihe hat. schließlich können Sie @SPRITE anweisen, wo in der Bilddatei das Scannen starten soll, indem Sie die Felder X und Y angeben (beide standardmäßig auf 0 gesetzt). @SPRITE wird dann an der Position X/Y beginnen und mit Frames die Anzahl der Bilder mit den Abmessungen von Width und Height aus der Bilddatei filename$ lesen. Nachdem es die Anzahl der in FPR gesetzten Bilder gelesen hat, wird es in die nächste Zeile vorrücken. Alle diese Felder können nur verwendet werden, wenn Sie eine Bilddatei in filename$ angeben. Wenn Sie eine Animationsdatei angeben, werden sie ignoriert.

Loader:
Mit diesem Tag können Sie einen oder mehrere Formatlademodule angeben, die die Datei 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 ein 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 des Bildes geladen. Bitte beachten Sie, dass dieser Tag speziell für monochrome Transparenzkanäle ausgelegt ist, die einen transparenten Stift in einem palettenbasierten Bild haben. Wenn Sie den Alphakanal eines Bildes 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 den Sprite als Paletten-Sprite. Dies bedeutet, dass Sie die Palette des Sprites 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. Paletten-Sprites haben auch den Vorteil, dass sie weniger Speicher benötigen, da 1 Pixel nur 1 Byte Speicherplatz anstelle von 4 Byte für 32-Bit-Bilder benötigt. Dieser Tag ist standardmäßig False. (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 auch den Tag LoadTransparency auf True setzen, um Hollywood zu zwingen, den in der Datei gespeicherten transparenten Stift zu verwenden (sofern das Dateiformat 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 Felder Transparency, LoadTransparency und LoadAlpha sich gegenseitig ausschließen. Eine Animation kann nicht eine Maske und einen Alphakanal haben!

Möchten Sie Sprites manuell laden, benutzen Sie den Befehl LoadSprite().

Eingaben
id
ein Wert, der diesen Sprite später im Code identifiziert
filename$
die Bilddatei, die Sie laden möchten
table
optional: eine Tabelle, die eine Kombination der oben erwähnten Felder enthält
Beispiel
@SPRITE 1, "MySprite.png", {Transparency = #RED}
Dieser Code lädt "MySprite.png" als Sprite 1 und die Farbe Rot wird transparent dargestellt.


@SPRITE 1, "PlayerSprites.png", {Width = 32, Height = 32,
     Frames = 16, FPR = 8, Transparency = #BLACK}
Der obige Code erzeugt den Sprite 1 aus der Datei "PlayerSprites.png". Sprite 1 wird die Dimensionen 32x32 haben und 16 verschiedene Einzelbilder enthalten. Die Einzelbilder sind mit 8 Bildern pro Zeile in dem Bild "PlayerSprites.png" abgespeichert. So muss @SPRITE zwei Zeilen scannen, um die 16 Einzelbilder alle zu lesen.

Navigation zeigen