Bewegungsobjekte
Aus AquaSoft Wiki
Version vom 18. Dezember 2012, 11:37 Uhr von Mark.lorenz (Diskussion | Beiträge)
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;
function GetMoveAlongPath: Boolean;
procedure SetMoveAlongPath (const Value: Boolean);
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
- Objekt Erzeugung
function CreateMoveableObject: IMovable;
function CreatePanableObject: IPanable;
- 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;
- Das Bewegungsobjekt richtet sich an der Pfadrichtung aus
function GetMoveAlongPath: Boolean;
procedure SetMoveAlongPath (const Value: Boolean);
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;