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