DiaShow-Objekte

Aus AquaSoft Wiki
Zur Navigation springenZur Suche springen

Neben den Befehlen, die Ihnen die Programmiersprache direkt zur Verfügung stellt, gibt haben Sie Zugriff auf die Objekte der Diashow (sonst wäre das ganze ja auch ziemlich sinnlos). Objekte der DiaShow sind die Bilder, Texte, Videos etc. eben alles aus dem sich eine Diashow zusammensetzen kann.

Verfügbare DiaShow-Objekte

Es gibt für jedes Objekt eine Create-Methode, z.B. so:

 var pic: IPicture;
 pic := CreatePicture;
 var text: IText;
 text := CreateText;

Allgemeinere Objekte

  • ISlideShowObject - DiaShow-Objekt - Basis für alle Objekte.
  • ICanvas - Leinwandobjekt/Zeichenfläche zum Zeichnen bzw. Pixelzugriff auf Bilder
  • IMoveable, IPanable - Zugriff auf Bewegungspfad und Kameraschwenk

Entwickler-Objekte

Folgende Objekte stehen in der Toolbox nur zur Verfügung, wenn der Entwicklermodus aktiviert wurde:

  • Transparentes Kapitel
  • "Laufende Linie"
  • Blackbox
  • Blackbox, horizontal
  • Blackbox, vertikal
  • Geometrische Form
  • Shader

Diese Objekte haben keine richtige Benutzeroberfläche und sind auf die Steuerung per Script angewiesen bzw. haben selbst steuernde Wirkung. Manche Objekte funktionieren nur in einem ganz bestimmten Kontext. Die Entwickler-Objekte werden nun genauer beschrieben:

Blackbox

Eine Blackbox verhält sich wie eine Flexi-Collage, aber ohne Überblendung und ohne Hintergrundfarbe. Was bleibt ist die Möglichkeit, einen Bewegungspfad und einen Kameraschwenk zuzuweisen. Alle in einer Blackbox befindlichen Objekten erben diesen Pfad und Schwenk, so wie es auch bei Flexi-Collagen der Fall ist.

Eine Blackbox wird normalerweise Container für beliebige weitere Objekte verwendet. Ein an die Blackbox angehängtes Script, manipuliert dann den Inhalt in beliebiger Weise. Meist enthält das Script auch eine Benutzeroberfläche, um den Nutzer verschiedene Parameter zur Verfügung zu stellen.

Im Script ist das Blackbox-Objekt einfach nur ein ISlideShowObject, dass aber die Interfaces IMoveable und IPanable implementiert.

Blackbox, horizontal

Wie "Blackbox" nur erlaupt die Timeline es nicht, in diesem Objekt mehrere Spuren anzulegen. Ebenso sind Abstände zwischen den Objekten nicht erlaubt. Dieses Objekt wird z.B. als Container für Bilder innerhalb von "Intelligen Vorlagen" eingesetzt. Hier soll der Nutzer keine komplexen Strukturen ablegen dürfen, da diese in die Vorlagen nicht übernommen werden könnten.

Blackbox, vertikal

Wie "Blackbox" nur werden alle eingefügten Objekte auf die Dauer des vertikalen Blackbox gestreckt und jedes erscheint auf einer eigenen Spur.

Transparentes Kapitel (IBlackboxContainer)

Ein "Transparentes Kapitel" ist kein Objekt mit Funktion innerhalb der Präsentation, sondern dient als Hilfselement für die Benutzeroberfläche, nämlich zur Beschriftung der Spuren. Es ist dafür ausgelegt innerhalb eines Blackbox-Objekts verwendet zu werden. Außerhalb davon ist die Funktionsweise undefiniert. Ein "Transparentes Kapitel" hat immer mindestens die Dauer seines Elternelements, kann aber selbst größer werden. Ansonsten verhält es sich wie ein normales Kapitel, d.h. es unterstützt beliebig viele Spuren und Abstände zwischen den Objekten. Aus Scriptingsicht ist das Objekt ein IBlackboxContainer.

Als Anwendungsbeispiel dient z.B. die "Dynamische Maske":

TransparentesKapitel.png

Dieser Effekt besteht aus einer Blackbox, der ein Script angehängt wurde, und zwei transparenten Kapiteln. Die beiden "Transparenten Kapitel" bieten einfach nur Platz für die zwei unterschiedlichen Funkionen (Maske und Inhalt). Das Script schaut in die beiden "Transparenten Kapitel" und macht damit "etwas".

Geometrische Form

Objekt hat keine Funktion. Es war ursprünglich dafür Gedacht, Dreicke oder andere Formen darzustellen. Dafür kann aber das Shader-Objekt verwendet werden.

Shader (IShader)

Über das Shader-Objekt lassen sich Pixelshader ausführen. Ein Shader-Objekt wird immer per Script angelegt und konfiguriert (ist also niemals in der Timeline zu sehen). Es benötigt zum Wirken mindestens den Dateinamen eines Pixelshaders (HLSL).