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:
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.
0.jpg
, 1.jpg
, 2.jpg
... 10.jpg
der Größe 571x377 Pixel.
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:
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.
@MUSIC 1, "MyMusic.mod" |
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()
.
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 |
p_NextPic() |
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.
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.
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.