[id] = CreateSprite(id, type, ...) [id] = CreateSprite(id, #ANIM, source_id) [id] = CreateSprite(id, #BRUSH, source_id[, width, height, frames, fr_per_row, sourcex, sourcey]) [id] = CreateSprite(id, #SPRITE, source_id1, source_id2, ...) [id] = CreateSprite(id, #TEXTOBJECT, source_id)
id
gespeichert werden. Wenn Sie beim Argument
id
Nil angeben, wird CreateSprite()
automatisch eine Zahl
auswählen und Ihnen übergeben. Die Argumente von CreateSprite()
hängen davon ab, welchen Quellentyp Sie angeben.
Wenn der Typ #ANIM
ist, übergeben Sie einfach die ID des Animationsobjektes
in source_id
.
Wenn der Typ #BRUSH
ist, müssen Sie die ID in source_id
angeben.
Mit CreateSprite()
können Sie auch mehrere Einzelbilder aus
einem Pinsel lesen. Wenn Sie das wollen, müssen Sie auch die
Argumente width
, height
und frames
übergeben. width
und height
definieren die Dimensionen für den Sprite und
frames
gibt an, wie viele Einzelbilder CreateSprite()
aus
dem Pinsel lesen soll. Falls die Einzelbilder in mehreren Reihen
im Pinsel abgelegt sind, werden Sie mit dem Argument fr_per_row
angeben müssen, wie viele Bilder es in jeder Reihe hat. Schließlich
kann man CreateSprite()
mit den Argumenten sourcex
und sourcey
(beide sind standardmäßig auf 0 gesetzt) mitteilen, ab welchem
Einzelbild im Pinsel das Auslesen starten soll. CreateSprite()
wird dann an der Position sourceX
und sourcey
beginnen, die in
frames
definierte Anzahl Einzelbilder in der Abmessung von
width
und height
aus dem in source_id
angegebenen Pinsel
zu lesen. Nachdem es fr_per_row
Einzelbilder gelesen hat,
wird in die nächste Zeile vorgerückt. Wenn Sie nur drei Argumente
angeben, wird CreateSprite()
einfach den in source_id
angegebenen
Pinsel in einen Sprite konvertieren.
Wenn der Typ #SPRITE
ist, wird CreateSprite()
einen neuen Sprite
aus einer unbegrenzten Anzahl von Quellen-Sprites erstellen.
Sie können so viele Quellen-Sprites angeben, wie Sie wollen.
Selbstverständlich kann jeder dieser Sprites auch mehrere Einzelbilder
aufweisen. Wenn Sie #SPRITE
verwenden, wird CreateSprite()
nie die Grafikdaten des angegebenen Quellen-Sprites kopieren.
Aus Leistungsgründen werden die Quellen-Sprites nur referenziert
und somit wird Ihr neuer Sprite von ihnen abhängen. Durch die
Verwendung von einem Verweis auf den vorhandenen Sprite, ist
CreateSprite()
sehr schnell und braucht nur sehr wenig Arbeitsspeicher.
Das ist sehr praktisch, wenn Sie verschiedene Animationssequenzen
von immer dem gleichen Quellen-Sprite erstellen möchten. Bitte
beachten Sie aber, dass das Erstellen eines Sprites von einem
Unter-Sprite eine Abhängigkeit erzeugt. Wird ein Unter-Sprite
aus dem Arbeitsspeicher entfernt, werden automatisch alle Unter-Sprites
auch aus dem Arbeitsspeicher gelöscht, die eine Referenz auf den
erstgenannten Unter-Sprite hatten. Sie sollten also nicht die Unter-Sprites
aus dem Arbeitsspeicher entfernen, bevor Sie mit dem neu erstellten
Sprite fertig sind.
Wenn der Typ #TEXTOBJECT
ist, wird CreateSprite()
einen Sprite
aus dem in source_id
angegebenen Textobjekt erstellen. Sie
müssen nur die ID des Quelltext-Objekts übergeben.