15.1 Tutorial

Dieses kleine Tutorial zeigt Ihnen Schritt für Schritt, wie Sie Ihre eigene Slideshow erstellen können. Versuchen Sie, jeden der hier gemachten Schritte zu verstehen und Sie werden bald in der Lage sein, Ihre eigenen Skripts zu erstellen.

Die folgenden Dinge werden für dieses Tutorial benötigt:

  1. Ein Hintergrundbild mit Namen BG.png mit zwei Pfeilen. Das Rechteck um Pfeil 1 ist X: 4, Y: 430, W: 35, H: 19. Das Rechteck um Pfeil 2 ist X: 591, Y: 430, W: 35, H: 19. Die Koordinaten, wo die Bilder angezeigt werden sind: X: 29, Y: 41.
  2. 11 Bilder mit Namen 0.jpg, 1.jpg, 2.jpg ... 10.jpg der Größe 571x377 Pixel.
  3. Protracker Modul mit Namen MyMusic.mod

Natürlich habe ich all das für dieses Tutorial vorbereitet. Sie finden die Dateien in Ihrem Hollywood-Verzeichnis unter Help/Tutorial. Bitte kopieren Sie die Dateien in das Verzeichnis, wo Sie Ihr Skript erstellen werden. Dann folgen Sie diesen Schritten:

  1. Starten sie Ihren gewohnten Texteditor

  2. Der Hintergrund für Ihre Slideshow ist ein Bild, das Sie bereits mit Ihrem bevorzugten Malprogramm erstellt haben. In unserem Beispiel habe ich den Hintergrund vorbereitet.

  3. Jetzt müssen wir Hollywood sagen, dass es die Datei BG.png als erstes Hintergrundbild benutzen soll. Das wird mit Hilfe der Präprozessor-Anweisung @BGPIC zusammen mit BG.png erledigt. Also müssen Sie den folgenden Code in Ihr Skript schreiben:

     
    @BGPIC 1, "BG.png"
    

    Dieser Befehl teilt Hollywood mit, dass es BG.png als erstes Hintergrundbild benutzen soll. Das erste Hintergrundbild muss immer den Identifikator 1 haben. Falls es keines mit dem Identifikator 1 gibt, erzeugt Hollywood ein leeres Display.

  4. Unsere Slideshow soll außerdem eine Hintergrundmusik enthalten. Diese Musik ist ein Protracker Modul mit Namen MyMusic.mod. Also fügen wir die folgende Zeile zu unserem Skript hinzu:

     
    @MUSIC 1, "MyMusic.mod"
    

  5. Nun müssen wir Gebiete in unserem Hintergrundbild festlegen, die als Knöpfe zur Verfügung stehen sollen. Wie Sie sehen gibt es zwei Pfeile im Hintergrundbild. Nachdem alle Knöpfe als Rechtecke definiert werden müssen, müssen wir die Koordinaten der linken oberen Ecke und der rechten unteren Ecke eines jeden Pfeiles herausfinden. Sie können ein Malprogramm wie PPaint benutzen, um die Koordinaten zu bestimmen. Für unser Hintergrundbild ist der linke Pfeil in einem Rechteck mit den Koordinaten 4:430 (obere linke Ecke) und eine Breite/Höhe von 35/19. Also können wir jetzt den linken Pfeil so als Knopf 1 in unser Skript einfügen:

     
    MakeButton(1, #SIMPLEBUTTON, 4, 430, 35, 19,
      {OnMouseUp = p_Back})
    

    Dasselbe können wir nun für den rechten Pfeil durchführen, der sich in einem Rechteck mit den Koordinaten 591:430 befindet und dieselbe Größe wie Pfeil 1 hat. Also schreiben wir die folgende Zeile in unser Skript:

     
    MakeButton(2, #SIMPLEBUTTON, 591, 430, 35, 19,
      {OnMouseUp = p_Forward})
    

    Jetzt haben wir zwei definierte Knöpfe, die angeklickt werden können. Wird Knopf 1 gedrückt, springt Hollywood zur Funktion mit Namen p_Back(). Wird Knopf 2 gedrückt, springt Hollywood zur Funktion p_Forward().

  6. Jetzt können wir einen Haufen Befehle hinzufügen, die Hollywood sagen, was es zu tun hat. Zuerst wollen wir, dass die Musik zu spielen beginnt. Da wir MyMusic.mod als Modul mit der Nummer 1 deklariert haben, rufen wir jetzt PlayModule() mit 1 als Argument auf. Fügen Sie die folgende Zeile Ihrem Skript hinzu und Hollywood wird Ihr Protracker-Modul abspielen:

     
    PlayMusic(1)
    

    Wir müssen auch noch definieren, welches Bild das letzte sein soll. In unserem Beispiel haben wir 11 Bilder, die von 0.jpg bis 10.jpg reichen, also ist das letzte Bild das mit der Nummer 10. Deshalb geben wir diese Zeile in unser Skript ein:

     
    lastpic = 10
    

    Wir fügen auch die folgende Zeile ein, weil unser erstes Bild 0.jpg ist:

     
    pic = 0
    

  7. Der nächste Befehl soll das nächste Bild laden und anzeigen. Nachdem es keinen Befehl gibt der das aufs Mal tut, brauchen wir ein kleines Unterprogramm. Sie werden in Schritt 10 sehen, wie Sie diese Funktion schreiben können. Lassen Sie uns für den Moment annehmen, dass es die bereits gibt und deshalb werden wir Hollywood auftragen, sie auszuführen:

     
    p_NextPic()
    

  8. Nun brauchen wir eine Hauptprogrammschleife in unserem Skript. Eine beliebte Form hierfür ist folgende:

     
    Repeat
        WaitEvent
    Forever
    

    Der Befehl WaitEvent() hält die weitere Ausführung des Skripts an, bis etwas passiert wie z.B. ein Knopf wird gedrückt. Wenn ein Ereignis eintritt, springt WaitEvent() zur Funktion, die dieses Ereignis behandelt. Wird z.B. Knopf 1 gedrückt, springt WaitEvent() zu der Funktion p_Back(). Wenn die Funktion ihre Arbeit beendet hat, springt Hollywood zurück in die Hauptschleife und WaitEvent() wird wieder aufgerufen. Das wird wiederholt, bis der Benutzer das Fenster schließt.

  9. Jetzt ist die Struktur unseres Programms komplett. Was wir noch tun müssen ist, die Funktionen p_Back() (welche das vorhergehende Bild anzeigen soll, welches bei WaitEvent() aufgerufen wird, falls Knopf 1 (rückwärts) gedrückt wurde) und p_Forward() (das von WaitEvent() für Knopf 2 (vorwärts) aufgerufen wird) hinzuzufügen. Es ist wichtig, dass Sie die Funktionen definieren, bevor Sie auf sie verweisen. So müssen Sie den folgenden Code vor dem Aufrufen von MakeButton() hinzufügen. Also lassen Sie uns nun diese beiden Funktionen für die Knöpfe hinzufügen:

     
    Function p_Back()
      If pic = 0
        pic = lastpic
      Else
        pic = pic - 1
      EndIf
      p_NextPic()
    EndFunction
    
    Function p_Forward()
      If pic = lastpic
        pic = 0
      Else
        pic = pic + 1
      EndIf
      p_NextPic()
    EndFunction
    

    Wie Sie im obigen Code sehen können, enthält die Variable pic die momentane Bildnummer. Wenn der Benutzer den Vorwärtsknopf anklickt, wird pic um eins erhöht, wird der Rückwärtsknopf gedrückt wird pic um eins verringert. Die Variable wird auch gegen 0 und lastpic geprüft, so dass sie immer im Bereich der Bilder bleiben.

  10. Und nun müssen wir noch unsere Funktion p_NextPic() erstellen, welche das Bild mit der Nummer in der Variable pic lädt und angezeigt. Denken Sie daran, diesen Code einzufügen, bevor der Befehl MakeButton() aufgerufen wird.

     
    Function p_NextPic()
        LoadBrush(1, pic .. ".jpg")
        DisplayBrush(1, 29, 41)
    EndFunction
    

    Was macht also die Funktion p_NextPic() ? Es hängt ein ".jpg" an pic an. Danach lädt es die Datei und stellt den Pinsel bei den Koordinaten 29:41 dar. Deshalb müssen die Bilder auf diese Weise benannt werden 0.jpg (erstes Bild), 1.jpg (zweites Bild), 2.jpg (drittes Bild) und so weiter.

    Zusammengesetzt sieht unser Skript jetzt so aus:

     
    @BGPIC 1, "BG.png"
    @MUSIC 1, "MyMusic.mod"
    
    Function p_NextPic()
       LoadBrush(1, pic .. ".jpg")
       DisplayBrush(1, 29, 41)
    EndFunction
    
    Function p_Back()
       If pic =0
         pic = lastpic
       Else
         pic = pic - 1
       EndIf
    
       p_NextPic()
    EndFunction
    
    Function p_Forward()
       If pic = lastpic
         pic = 0
       Else
         pic = pic + 1
       EndIf
    
       p_NextPic()
    EndFunction
    
    MakeButton(1, #SIMPLEBUTTON, 4, 430, 35, 19,
       {OnMouseUp = p_Back})
    MakeButton(2, #SIMPLEBUTTON, 591, 430, 35, 19,
       {OnMouseUp = p_Forward})
    PlayMusic(1)
    
    lastpic = 10
    pic = 0
    
    p_NextPic()
    
    Repeat
      WaitEvent
    Forever
    

Nun können Sie Ihr Skript abspeichern und mit der Hollywood-GUI oder aus der Shell starten. Und das ist bereits Ihre Slideshow! War das nicht einfach? Nur 35 Codezeilen. Nun können sie loslegen und den Code erweitern, wenn Sie möchten. Falls Sie zum Beispiel Übergangseffekte zwischen den Bildern haben möchten, ersetzen Sie einfach die Zeile

 
DisplayBrush(1, 29, 41)

mit der Zeile

 
DisplayBrushFX(1, 29, 41, #RANDOMEFFECT)

und Ihr Bild wird mit einem schönen Übergangseffekt aus der breiten Palette von Hollywoods Übergangseffekten erscheinen.

Im englischsprachigen Forum https://www.hollywood-mal.de/ finden Sie unter Tutorials weitere Lernprogramme.


Navigation zeigen