Bezeichnung
CreateSprite -- erstellt einen Sprite (V2.0)
Übersicht
[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)
Beschreibung
Dieser Befehl erstellt einen neuen Sprite aus der angegebenen Quelle. Die Sprite-Quelle kann eine Animation, ein Pinsel, ein Sprite oder ein Textobjekt sein. Der neue Sprite wird unter der angegebenen 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.

Eingaben
id
Identifikator des neuen Sprites oder Nil für dieautomatische ID-Zuweisung
type
Typ des Quellenobjekts
...
weitere Argumente, die abhängig vom jeweiligen Typ sind (siehe oben)
Rückgabewerte
id
optional: Identifikator des neuen Sprites; Wird nur zurückgegeben werden, wenn Sie Nil als Argument 1 angegeben haben (siehe oben)

Navigation zeigen