Bewegungsobjekte: Unterschied zwischen den Versionen

Aus AquaSoft Wiki
Zur Navigation springenZur Suche springen
Zeile 6: Zeile 6:
  
 
<code>
 
<code>
   (IMoveable UND IPanable) '''inherits from''' [[ISlideShowObject]]
+
   (IMoveable ''UND'' IPanable) '''inherits from''' [[ISlideShowObject]]
 
     function GetItem(Index: Integer): [[ITimeRect]];
 
     function GetItem(Index: Integer): [[ITimeRect]];
 
     procedure SetItem(Index: Integer; Item: [[ITimeRect]]);
 
     procedure SetItem(Index: Integer; Item: [[ITimeRect]]);

Version vom 15. August 2012, 10:46 Uhr

Bewegungsobjekte sind entweder vom Typ IMoveable oder IPanable. Sie leiten vom ISlideShowObject ab.

Bewegungsobjekte sind Modifizierer anderer Objekte. Mithilfe dieser können Objekte verschoben oder gezoomt werden. Sie repräsentieren die Bewegungspfade und Kameraschwenks, wie sie aus der DiaShow bekannt sind. Bewegungsobjekte sind Listen von Objekten des Typs ITimeRect, einer Datenstruktur, die neben einer Zeitmarke auch eine Reihe von Eigenschaften, wie Position und Winkel speichert.

  • Moveable: Der Bewegungspfad des Objektes
  • Panable: Der Bewegungspfad der Kamera

 (IMoveable UND IPanable) inherits from ISlideShowObject
   function GetItem(Index: Integer): ITimeRect;
   procedure SetItem(Index: Integer; Item: ITimeRect);
   function GetCount: Integer;
   function AddItem: ITimeRect;
   procedure DeleteItem (const Index: Integer);
   function IndexOf(const Item: ITimeRect): Integer;
   procedure SetDefault;
 end;

Um auf diese Bewegungen zugreifen zu können, muss das Objekt in ein IMoveable oder ein IPanable gecastet werden.

 var Moveable = Item as IMoveable;

Methoden

  • Getter und Setter für die TimeRects

 function GetItem(Index: Integer): ITimeRect;
 procedure SetItem(Index: Integer; Item: ITimeRect);


  • Anzahl der TimeRects

 function GetCount: Integer;


  • Neues TimeRect anfügen, gibt Referenz auf dieses zurück

 function AddItem: ITimeRect;


  • Lösche TimeRect an Stelle Index

 procedure DeleteItem (const Index: Integer);


  • Position eines bestimmten TimeRects

 function IndexOf(const Item: ITimeRect): Integer;


  • Alles löschen

 procedure SetDefault;

Beispiel

 var Moveable = SlideShowObject as IMoveable;
 if Moveable = nil then
   Continue;
     
 Moveable.SetDefault;
 Moveable[0].SetLeft(Rect.Left);
 Moveable[0].SetTop(Rect.Top);
 Moveable[0].SetRight(Rect.Right);
 Moveable[0].SetBottom(Rect.Bottom);
 TimeRect = Moveable.AddItem;