Sprites (aus dem Englischen: Elfe, Kobold, Wicht) sind Bitmap-Grafiken, die direkt von der Grafikkarte auf den Bildschirm gezeichnet werden und daher den Hauptprozessor des Rechners kaum beanspruchen. Von vielen Betriebssystemen wird beispielsweise der Mauszeiger oder der Textcursor durch ein Sprite dargestellt, auch in vielen (v.a. zweidimensionalen) Computerspielen finden sie Verwendung.
Ein Sprite wird durch die Angabe der x- und y-Koordinate seines „Mittelpunktes“, des Namens der Bilderfolge und des Index innerhalb dieser Folge instanziert.
new Sprite(400, 300, SpriteLibrary.Ship_1, 0);
etwa instanziert ein Sprite, das das erste (index == 0) Bild der Bilderfolge „Ship_1“ darstellt.
Es gibt Bilderfolgen, die - schnell hintereinander abgespielt - einen kleinen „Film“ (Animation) ergeben. Diese Animationen kann man mit der Methode playAnimation
abgespielt werden.
Sprite explosion = new Sprite(400, 300, SpriteLibrary.Explosion_1, 0); explosion.playAnimation(0, 63, RepeatType.loop, 15);
Spielt die Bilder mit den Indizes 0 bis 63 (jeweils einschließlich) mit der Geschwindigkeit 15 Bilder pro Sekunde ab, wobei nach dem 63. Bild die Animation wieder von vorne begonnen wird (RepeatType.loop).
Wie bei allen anderen Grafikobjekten kann auch bei Sprites mit er Methode collidesWith
ausgewertet werden, ob ein Sprite mit einem anderen Objekt überlappt. Soll die Kollision mit vielen gleichartigen Objekten ausgewertet werden, so empfiehlt es sich aus Performancegründen, diese Objekte in einer Gruppe zusammenzufassen und die Kollision mithilfe der Methode getCollidingShapes
der Gruppe zu suchen.
makeTiling(double width, double height)
macht aus einem Sprite eine „Kachelfläche“ der Breite width
und der Höhe height
, indem das Sprite-Bild geeignet oft neben- und untereinander gezeichnet wird. move
, scale
, …) beziehen sich auf die Kachelfläche als Ganzes. getTileImage()
ein Objekt, das einem geeignete Methoden move
und scale
hierzu bietet. getTileImage().move(double dx, double dy)
verschiebt die Bilddaten um die angegebene Verschiebung und fügt sie zyklisch in der gegenüberliegenden Richtung wieder an. Dadurch entsteht ein Scroll-Effekt. Starte am besten das nachfolgende Beispielprogramm, dann siehst Du sofort, was gemeint ist!