1 Einführung in Macromedia Director Multimedia Grundlagen WS

Transcription

1 Einführung in Macromedia Director Multimedia Grundlagen WS
Einführung in Macromedia Director
Dennis Erdmann
Multimedia Grundlagen WS 2004/2005
Macromedia Director:
Das Erstellen von Shockwave-Movies mittels Director erinnert an das Drehen eines Filmes.
Schon beim Starten des Programmes erkennt man dies an der Bezeichnung der Fenster:
Neben der Bühne gibt es ein Drehbuch, eine Besetzungsliste und den Eigenschafteninspektor.
Weitere wichtige Tools sind das Nachrichtenfenster und die Toolbar, welche ich noch näher
beschreiben werde.
(Abb.1 Director)
Bühne:
Die Bühne ist das Fenster das man am Ende des fertigen Filmes sieht. Hier werden die
Elemente plaziert und manuell oder mitels Lingo verändert, bewegt oder animiert.
Drehbuch:
Wie zu einem echten Film, gehört auch zu einem Director-Film ein Drehbuch, das seinen
Ablauf steuert. Das Drehbuchfenster enthält genaue Informationen, wann und wo die
einzelnen Darsteller auf der Bühne in Erscheinung treten und beschreibt sämtliche Aktionen,
die im Film stattfinden.
1
Markierungskanal: Bennen von wichtigen Frames
zum geszielten hinspringen.
Soundkanäle: Plazieren der verwendeten SoundDateien
Verhaltenskanal: Hier stehen die Bilderskripte.
(werden ausgeführt, wenn der Film hier vorbeikommt)
Sprite-Kanäle: Plazieren der verwendeten Darsteller,
welche auf der Bühne auftreten.
(Abb.2 Drehbuch)
Besetzungsfenster:
In Director können eine Vielzahl von Medienelementen verwendet werden (Bilder, Sounds,
Filme in vielen Formaten, Flash-Dateien uvm.)
Um nun diese in einem Film verwenden zu können müssen sie in die Besetzungsliste
importiert werden. Nun kann man den Darsteller entweder auf die Bühne ziehen, oder im
Drehbuch direkt bearbeiten.
Eine andere Art von Darstellern erscheint zwar im Drehbuch, aber nicht auf der Bühne.
Hierzu zählen Skripte, Paletten, Schriften und Übergänge, die man in den Effektkanälen
des Drehbuchs verwendet.
(Abb. 3 Besetzungsfenster)
2
Eigenschafteninspektor:
Der Eigenschafteninspektor ändert sich je nach aktiviertem
Objekt.
Dort kann z.B. von einem Bild die Größe, Transparenz,
Position und vieles mehr eingestellt werden.
Standardmäßig ist die Listenansicht deaktiviert, wodurch
allerdings viele Einstellungspunkte verborgen bleiben.
Ist nur die Bühne aktiviert (Mausklick auf leere Stelle der
Bühne), zeigt dieses Fenster grundlegende
Filmeinstellungen an, wie z.B: Größe der Bühne, Art des
Renderers (Open GL, Direct 7 oder Software)
Tipp: Hier vor dem Publizieren vergewissern, dass
Director den Renderer nicht automatisch auf Software
gestellt hat!
(Abb.4 Eigenschafteninsp.)
Nachrichtenfenster:
Im Standardmodus können hier Skriptanweisungen eingegeben werden, um das
Ereigniss zu testen, bevor man das Skript zum
Film hinzufügen. Skriptergebnisse lassen sich in
diesem Modus gezielt testen, ohne den ganzen
Film abspielen zu müssen.
Im Verfolgungsmodus kann ein Film abgespielt
und die Skriptausführung im Ausgabebereich
beobachten werden. Da das Skript im Fenster
abläuft, kann man bei Problemen sofort sehen,
an welcher Stelle der Fehler auftritt.
(Abb.5 Nachrichtenfenster)
3
Skripfenster:
(Abb.6 Skripfenster)
Hier werden die Skripte in der Macromedia Director Sprache LINGO programmiert.
Lingo:
Lingo ist die Programmiersprache von Director. Mit Lingo können Programme bzw. Skripts
geschrieben werden. Mit Skripts lassen sich raffinierte interaktive Anwendungen erstellen,
die gezielt auf die Eingaben der User reagieren.
Grundsätzlich kann man sich viele Lingo-Skripts zusammenklicken. Um das Verhalten eines
Buttons zu programmieren kann wie folgt vorgegangen werden:
•
•
•
•
•
•
Button-Darsteller auf die Bühne ziehen (kann Flash, Image oder sonstiges sein)
Darsteller anklicken
Verhaltensinspektor öffnen (Fenster -> Verhaltensinspektor)
Auf „+“ und dann „neues Verhalten“: Name eingeben
Im Fenster darunter ein „Ereignis“ hinzufügen (z.B. „Maustaste losgelassen“)
Und entsprechende „Aktion“ auswählen (z.B. springe zu Bild 20)
Dies kann natürlich auch alles selbst programmiert werden (ist u.U. sogar schneller):
on mouseUp me
go to frame 20
end
Dies muss dann auch in ein Skript eingefügt werden, welches man manuell über den
Eigenschafteninspektor -> Verhalten -> „+“ -> „neues Verhalten“ hinzufügt.
Um nun sein spezifisches Verhalten zu programmieren, muss man auf die Ereignisse in
Lingo zurückgreifen. Hier war es das mouseUp-Ereigniss, welches immer aufgerufen wird,
wenn auf das gewählte Objekt geklickt wird.
4
Hier nun oft verwendete Ereignisse:
on prepareMovie, on startMovie, on stopMovie
: werden am Anfang und am Ende eines Films ausgelöst.
on prepareFrame, on enterFrame, on exitFrame
: werden am Anfang und am Ende eines Bildes im Drehbuch ausgelöst.
on beginSprite, on endSprite
: werden am Anfang und am Ende eines Spritessegments im Drehbuch ausgelöst.
on keyUp
: Eine Taste der Tastatur wird gedrückt.
on keyDown
: Eine Taste wird losgelassen.
on mouseUp, on mouseDown
: Maustaste wird gedrückt bzw. losgelassen.
on mouseUpOutside
: linke Maustaste wird außerhalb eines Sprites losgelassen, nachdem Sie im Sprite gedrückt wurde.
on mouseEnter, on mouseLeave
: Der Mauszeiger tritt in ein Sprite ein bzw. verlässt es.
on mouseWithin
: Der Mauszeiger befindet sich innerhalb eines Sprites.
Zu Beginn eines Skripts können PROPERTIES eingeführt werden:
property mySprite
Verwendung skritübergreifender Variablen:
global vname1, vname2
Dies muss in jedem Skript stehen, welches diese Variable nutzen will.
Einführen eigener Funktionen:
on function (variablen)
anweisung(en)
end
Ausgabe im Nachrichtenfenster (z.B. zum debugen):
put „ausgabetext“
Kommentieren im Skript:
-- kommentierter Text
Keine Mehrzeilenkommentierung möglich wie z.B. in Java
5
Lingo 3D:
Wenn man nun mit einer 3D Welt arbeitet, erweitert sich die Palette der zur Verfügung
stehenden Funktionen um ein Vielfaches.
Zieht man die gewünschte 3D-Shockwave-Szene aus der Besetzungsliste auf die Bühne, so
hat man erneut ein Sprite erstellt.
Um nun darauf mittels Lingo zuzugreifen, erstellt man sich eine Referenz darauf (dies
erleichtert die Arbeit innerhalb des Skripts deutlich):
property p3dMember
on beginSprite me
-- initiate properties
p3dMember = sprite(me.spriteNum).member
end
Denn, will man nun auf ein Model innerhalb der Szene zugreifen, um dieses zu modifizieren,
verschieben oder sonstiges, hat man weniger Arbeit damit:
on enterframe me
p3dmember.model("3DObject").rotate(0,0.2,0, #self)
p3dmember.model("3DObject").translate(20, 0, 0)
end
Hier wird also jedes Mal, wenn der Film in einen neuen Frame kommt das Model mit dem
Namen 3DObject um die (eigene) y-Achse mit dem Faktor 0.2 gedreht und zusätzlich um
20 Einheiten auf der x-Achse verschoben.
Um herauszufinden wie genau das Model heißt welches man braucht, bedient man sich dem
3DPI-Tool.
Schon bei diesem kleinen Beispiel kann man viel über Lingo lernen:
• Es wird die Punkt-Syntax verwendet
• Positionen oder Verschiebungen werden mit Vektoren dargestellt (x,y,z)
Da diese Dokumentation nur den Einstieg in Direcor erleichtern soll, will ich nicht weiter auf
spezielle Eigenschaften eingehen, da hierfür die eingebaute Hilfe ein sehr gutes
Nachschlagewerk bereitstellt.
6
Auf was ich allerdings noch eingehen will, ist die Wizardartige Erstellung von
Verhaltensskripts, welches hier mittels der 3D-Bibliothek funktioniert:
Öffnen durch: Menüpunkt Fenster -> Bibliothekspalette
Dies sieht man am Besten an einem Beispiel:
Mit der „w“-Taste in die Szene hineinzoomen:
•
•
•
•
•
In der Bibliothek unter 3D -> Aktion: Die gewünschte Aktion auswählen und auf das
Sprite ziehen. (hier: Kamera auf Dolly)
Faktor auswählen und einen Namen für diese Aktion vergeben
Nun unter 3D -> Auslöser: Gewünschten Auslöser über das Sprite ziehen. (hier:
Tastatureingabe)
Definierte Taste auswählen: „w“ und bei „Gruppe und Aktion auswählen“ den gerade
erstellten Dolly verwenden.
Film Abspielen – Testen – Fertig
Nachteil: Dies sind nun 506 Zeilen Code. Von Bedeutung sind allerdings nur ca. 20 Zeilen.
Programmiert sieht es dann so aus:
property pCamera
property pMember
property pSprite
.
.
.
pSprite = sprite(me.spriteNum)
pMember = pSprite.member
.
.
.
pCamera = pSprite.camera
.
.
.
pCamera.translate(0,0, aDollyAmount)
oder
sprite(me.spriteNum).camera.translate(x,y,z)
Dies nun kombiniert mit dem oben schon erwähnten on
Verhalten selbst programmiert.
keyUp
Event haben wir das identische
7
3DPI:
3DPI ist ein zusätzlicher Eigenschafteninspektor speziell für Shockwave3D Darsteller. Mittels
dieses Tools können nahezu alle Eigenschaften von 3D Objekten innerhalb eines Darstellers
eingesehen, modifiziert und Lingo-Skripts erzeugt werden.
Dies erleichtert die Suche nach speziellen Funktionen bezüglich 3D Objekten erheblich.
Ist das Tool installiert, kann man es in Director unter Menüpunkt XTras -> 3DPI öffnen.
Um nun wie vorher verwendet, den Namen eines 3D
Objektes zu ermitteln, verwendet man die
Karteikarte „Picking“: Fährt man jetzt mit der Maus
über ein 3D-Objekt im Sprite auf der Bühne, wird
einem alles relevante zu diesem Sprite geliefert.
Insbesondere der Name unter „Model“.
Sehr wichtig ist noch die Kartei „Model“ in der man
alles zu einem bestimmten 3D-Objekt einstellen
kann. (Position, Drehung, Abhängigkeiten, Shader..)
Unter „Lights“ können dann noch Lichter verändert,
hinzugefügt oder auch gelöscht werden. (um z.B. die
Rechenleistung zu minimieren)
(Abb.7 3DPI)
Veröffentlichen:
Um einen Film zu Veröffentlichen kann man dies auf verschiedene Arten machen:
•
Als Shockwave Movie (für das web als dcr-File; hierfür ist beim Betrachter das
Shockwave Plugin nötig)
•
Als Projektor (Hier wird der gesamte Film in eine exe-Datei gepackt und beim
Betrachter ohne zusätzliche Software abgespielt)
Eingestellt wird dies mittels Menüpunkt: Datei -> Veröffentlichungseinstellungen
Tipp 1: Nicht erst am Schluss des Projektes zum ersten mal „kompilieren“, sondern schon
zwischendurch testen, ob der Film in der gewünschten Veröffentlichungsart auch dies macht
was er in der Entwicklungsumgebung macht. (Dies ist nicht selbstverständlich)
Tipp 2: Bei Shockwave-Movie auf hohe Kompression achten, um die Download Zeit beim
Benutzer zu reduzieren.
8
Internet resources:
Downloads:
Director 30-Days Trial: http://www.macromedia.com/downloads/
3DPI: http://www.3dpi-director.com/index.html
3DSMax exporter: http://www.macromedia.com/software/director/3d/exporters/discreet/
Tutorials:
Macromedia-Director Site: http://www.macromedia.com/support/director/tutorial_index.html
Dean's Director Tutorials & Lingo Technotes: http://www.fbe.unsw.edu.au/Learning/Director/
Getting Started – Videos:
http://www.macromedia.com/software/director/productinfo/tutorials/gettingstarted/
Forum:
http://www.directorforum.de/index.php
9

Documents pareils