Bezeichnung
LoadSprite -- lädt einen Sprite (V2.0)
Übersicht
[id] = LoadSprite(id, filename$[, args])
Beschreibung
Dieser Befehl lädt den in filename$ angegebenen Sprite in den Arbeitsspeicher und weist ihm die id zu. Wenn Sie Nil angeben, wird LoadSprite() automatisch eine freie ID für Sie auswählen und Ihnen zurückgeben.

Unterstützte Bildformate sind PNG, JPEG, BMP, IFF ILBM und einige mehr, je nachdem auf welcher Plattform Hollywood läuft. Ab Hollywood 4.5, kann LoadSprite() 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 args 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)

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 LoadSprite() 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 LoadSprite() mitzuteilen, wie viele Bilder es in jeder Reihe hat. schließlich können Sie LoadSprite() anweisen, wo in der Bilddatei das Scannen starten soll, indem Sie die Felder X und Y angeben (beide standardmäßig auf 0 gesetzt). LoadSprite() wird dann an der Position X/Y beginnen und mit Frames die Anzahl der Bilder mit der 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 sind, die einem 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!

Dieser Befehl ist auch als Präprozessor-Anweisung vorhanden: mit @SPRITE können Sie Sprites vorladen.

Eingaben
id
Identifikator des neuen Sprites oder Nil für dieautomatische ID-Zuweisung
filename$
Datei, die geladen wird
args
optional: weitere Optionen zum Konfigurieren des Ladevorgangs
Rückgabewerte
id
optional: Identifikator des neuen Sprites; Wird nur zurückgegeben werden, wenn Sie Nil als Argument 1 angegeben haben (siehe oben)
Beispiel
LoadSprite(1, "MySprite.png", {Transparency = #RED})
Dieser Code lädt "MySprite.png" als Sprite 1 und die Farbe Rot wird transparent dargestellt.


LoadSprite(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 LoadSprite() zwei Zeilen scannen, um die 16 Einzelbilder alle zu lesen.

Navigation zeigen