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