Dokumentation der Scripting-API: Unterschied zwischen den Versionen

Aus AquaSoft Wiki
Zur Navigation springenZur Suche springen
 
Zeile 24: Zeile 24:
 
     if Moveable = nil then
 
     if Moveable = nil then
 
       Exit; // Abbrechen, denn Objekt hat keinen Bewegungspfad
 
       Exit; // Abbrechen, denn Objekt hat keinen Bewegungspfad
 
+
   
 
     Moveable.SetDefault; // bestehenden Pfad komplett entfernen  
 
     Moveable.SetDefault; // bestehenden Pfad komplett entfernen  
 
     var Item: [[ITimeRect]];
 
     var Item: [[ITimeRect]];
 
+
   
 
     // Erster Pfadpunkt (ist immer vorhanden)
 
     // Erster Pfadpunkt (ist immer vorhanden)
 
     Item := Moveable[0];
 
     Item := Moveable[0];
 
     Item.SetBounds(DoubleRect(0.25, 0.25, 0.75, 0.75); // Halber Bildschirm  
 
     Item.SetBounds(DoubleRect(0.25, 0.25, 0.75, 0.75); // Halber Bildschirm  
 
+
   
 
     // Zweiten Pfadpunkt hinzufügen
 
     // Zweiten Pfadpunkt hinzufügen
 
     Item := Moveable.AddItem;
 
     Item := Moveable.AddItem;

Aktuelle Version vom 15. September 2012, 20:58 Uhr

Die DiaShow lässt sich mit Scripts stark erweitern. Scripts können sowohl auf das Abspielen Einfluss nehmen aber auch die Benutzeroberfläche erweitern.

Eines vorneweg: Hier geht es tief in die "Eingeweide" der DiaShow. Sie sollten bereits einfache Programmierkenntnisse mitbringen, um mit dieser Funktionalität etwas anfangen zu können.

Wie benutze ich Scripts?

Jedem DiaShow-Objekt kann ein Script angehängt werden, das zu verschiedenen Zeiten zur Ausführung kommt. Ein Script ist letztendlich nur eine Textdatei. Wann welcher Teil eines Scripts ausgeführt wird, wird durch Hooks bestimmt. Ein Hook ist nichts weiter als eine speziell benannte Funktion innerhalb des Scripts. Über die Scripting-Entwicklungsumgebung können Sie einem DiaShow-Objekt ein Script zuordnen bzw. neue Scripts erstellen.

Weiterführende Informationen

Beispiel

Ein ganz einfaches Beispiel eines Scripts könnte so aussehen. Dieses Beispiel definiert einen Bewegungspfad für z.B. ein Bild oder Text:

 procedure OnExpandSlideShow(SlideShowObject: ISlideShowObject)
 begin
   var Moveable = SlideShowObject as IMoveable;
   if Moveable = nil then
     Exit; // Abbrechen, denn Objekt hat keinen Bewegungspfad
   
   Moveable.SetDefault; // bestehenden Pfad komplett entfernen 
   var Item: ITimeRect;
   
   // Erster Pfadpunkt (ist immer vorhanden)
   Item := Moveable[0];
   Item.SetBounds(DoubleRect(0.25, 0.25, 0.75, 0.75); // Halber Bildschirm 
   
   // Zweiten Pfadpunkt hinzufügen
   Item := Moveable.AddItem;
   Item.SetBounds(DoubleRect(0.0, 0.0, 1.0, 1.0);  // Ganzer Bildschirm
   Item.SetTime(SlideShowObject.Duration div 2); // Zeitpunkt, wann der zweite Punkt erreicht sein soll
 end;