49.1 Übersicht

Sprites sind elementare Teile vieler Anwendungen. Sie können für viele verschiedene Zwecke verwendet werden und Hollywood geht sehr flexibel mit ihnen um, weil sie vollständig in die Software implementiert werden. Somit gibt es keine Beschränkungen für Spritegröße, -farben, -transparenz und so weiter. Traditionell werden Sprites für Spieler und Feind Grafiken in Spielen verwendet, aber sie kommen auch praktisch in vielen anderen Situationen vor.

Allgemein kann man sagen, Sprites haben drei verschiedene Attribute, die sie von Pinseln unterscheidet:

  1. Sprites sind immer an der vordersten Front vom Display.
  2. Jedes Sprite kann nur einmal auf dem Bildschirm vorkommen.
  3. Ein Sprite kann mehrere Einzelbilder haben.

Eine detailliertere Erläuterung der Sprite-Befehle folgt weiter unten.

  1. Sprites sind immer an der vordersten Front vom Display. Schauen Sie sich den folgenden Code an:

     
    LoadBrush(1, "test.iff")
    LoadSprite(1, "test2.iff")
    DisplaySprite(1, 0, 0)
    DisplayBrush(1, 0, 0)
    

    Sie sehen, dass wir zwei Bilder laden: Pinsel 1 und Sprite 1. Nun zeigen wir Sprite 1 und danach Pinsel 1. Normalerweise müsste Pinsel 1 über dem Sprite gezeichnet werden, weil DisplayBrush() nach DisplaySprite() aufgerufen wurde. Sprites sind jedoch immer auf der Vorderseite des Displays und deshalb wird in diesem speziellen Fall Pinsel 1 hinter Sprite 1 gezeichnet werden.

    Dies gilt für alle normalen Grafikbefehle von Hollywood: Sie können nie Grafiken über ein Sprite zeichnen! Sprites sind immer auf der Vorderseite und die normalen Befehle, das heißt Nicht-Sprite-Befehle können nie ein Sprite übermalen. Sie können nur Sprites über neue Sprites zeichnen.

  2. Jedes Sprite kann nur einmal auf dem Bildschirm vorkommen. Schauen Sie sich den folgenden Code an:

     
    LoadSprite(1, "test.iff")
    DisplaySprite(1, 0, 0)
    DisplaySprite(1, 100, 100)
    

    Sie sehen, dass wir Sprite 1 zwei Mal anzeigen. Zunächst wird es bei 0 : 0 und ein zweites Mal bei 100 : 100 angezeigt. Da jedes Sprite nur einmal auf dem Bildschirm sein kann, wird der zweite DisplaySprite() Sprite 1 nicht wieder zeichnen, aber es von 0 : 0 bis 100: 100 bewegen. DisplaySprite() überprüft, ob Sprite 1 auf dem Bildschirm ist. Wenn ja, wird es abgeholt und an die neue Position verschoben. So können Sie einfach Ihre Sprites auf dem Bildschirm bewegen.

  3. Ein Sprite kann mehrere Einzelbilder haben. Weil Sprites oft für Animation verwendet werden, kann jedes Sprite mehrere Einzelbilder wie ein Animationsobjekt von Hollywood tragen. Der Befehl DisplaySprite() akzeptiert ein optionales Argument, womit Sie angeben können, welches Einzelbild gezeigt werden soll.

Weitere Informationen über die Sprite-Umsetzung in Hollywood:


Navigation zeigen