Director 8.5-Versionshinweise
Einführung
Dieses Dokument enthält die neuesten Informationen zu Director 8.5, die zum Zeitpunkt der Drucklegung des Handbuchs noch nicht bekannt waren.
Bitte lesen Sie dieses Dokument aufmerksam durch.
Gehen Sie darüber hinaus bitte auch zum Director
Support Center; dort finden Sie die neuesten TechNotes und Hinweise
zur Fehlerbehebung für Director sowie Artikel mit Tipps und Techniken
zur Verwendung von Director, ausdruckbare Dokumentation und vieles mehr.
Was ist neu?
|
Weitere Informationen zu den neuen Leistungsmerkmalen in Director 8.5 finden Sie in der Director-Hilfe und auf der Website von Macromedia. |
|
Das Shockwave-Kontextmenü
enthält ein neues Element "3D-Renderer". Der Standard-3D-Renderer
kann während der Shockwave-Wiedergabe geändert werden, indem
Sie eine Voreinstellung im Dialogfeld "Eigenschaften" ändern.
Um auf dieses Dialogfeld zuzugreifen, klicken Sie mit der rechten
Maustaste (Windows) bzw. bei gedrückter Ctrl-Taste (Macintosh)
auf einen Shockwave-Film und wählen Sie die Option "3D-Renderer". |
|
Die neue Lingo-Eigenschaft
the debugPlaybackEnabled ersetzt die Funktionalität
von messagewindow=1 der Dateien "Shockwave.ini" und "ProjectorName.ini",
die in Director 8 eingeführt wurden. Beachten Sie, dass Shockwave
auf dem Macintosh kein Meldungsfenster öffnen kann; stattdessen
wird im Shockwave 8-Ordner eine Textdatei erstellt, in die put -Anweisungen
von einem Film geschrieben werden. |
|
Watcher- und Debugger-Variablen verfügen jetzt über eine Rollover-QuickInfo, die den Wert der Variablen anzeigt. Das Auswerten und Debuggen von Listen und Eigenschaftslisten ist jetzt einfacher. |
 
Zusätze zur Dokumentation
3D, Verhalten
|
3D-Aktionsverhalten, deren Namen das Wort "ziehen" enthalten, wie beispielsweise "Modell ziehen", verwenden einen Auslöser von Typ "Linke Maustaste" oder "Rechte Maustaste". Sie sind nicht für die Verwendung mit den Auslösern "Cursor innerhalb", "Cursor herein" oder "Cursor heraus" vorgesehen. |
|
Das Verhalten "Auf Modell klicken, um zur Markierung zu gehen" funktioniert nur jeweils für ein Modell pro Sprite, es sei denn, Sie weisen jedes Modell einer anderen Gruppe zu. |
|
Die Verhalten "Achse anzeigen" und "Neuzeichnen ein/aus" funktionieren nur dann bei 3D-Text, wenn das Sprite auf "Direkt auf Bühne" gesetzt ist und ein Hardware-Renderer verwendet wird. |
3D, Knochen- und Schlüsselbildanimation
|
Beim Registrieren für Ereignis-Callbacks
oder Registrierungen sollte sichergestellt sein, dass die Prozeduren
auch wirklich existieren, da diese Ereignis-Callbacks ansonsten ohne
Fehlermeldung fehlschlagen. Anhand des folgenden Lingo-Beispiels können
Sie die Existenz der Prozeduren vor dem Registrieren der Ereignisse
#animationStarted und #animationEnded für
die Verwendung der Prozeduren on startOfAnim bzw. on
endOfAnim ermitteln. |
|
if me.handler(#startOfAnim) then
myModelReference.registerScript(#animationStarted,
#startOfAnim, me)
else alert "Prozedur" & #startOfAnim "nicht auffindbar"
if me.handler(#endOfAnim) then
myModelReference.registerScript(#animationEnded,
#endOfAnim, me)
else alert "Prozedur" & #endOfAnim "nicht auffindbar"
|
|
Die von motion.type
zurückgegebenen Symbole sind nicht dieselben wie für die
Modifizierer, denen sie entsprechen. So ist #bones beispielsweise
nicht gleich #bonesPlayer und #keyframe
ist nicht gleich #keyframePlayer . |
|
Das Entfernen des Modifizierers #keyframePlayer oder #BonesPlayer führt zu einem Verlust des Animationszustands. Bei Modellen mit mehreren Wurzeln werden die Knochen nicht korrekt ausgerichtet. |
|
Bei Modellen mit mehreren Wurzeln werden die Knochen nicht korrekt ausgerichtet. |
|
Shockwave 3D führt zwei Abspiellisten
zum Einreihen in Warteschlangen und Wiedergeben von Animationslisten
(#bonesPlayer und #keyframePlayer ). Diese
Listen haben zwar viel Ähnlichkeit mit den Soundkanal-Abspiellisten,
weisen jedoch einen grundlegenden Unterschied auf: Bei Sound wird
ein Element in der Warteschlange aus der Liste entfernt, wenn die
Wiedergabe eines Sounds beginnt. Bei 3D wird das Element entfernt,
wenn die Animation beendet ist. |
3D, Klonen
|
Beim Klonen eines Modells, an
dem der Kollisionsmodifizierer angebracht ist, wird mit Ausnahme der
zugewiesenen Callback-Prozedur alles an den Klon übergeben. Daher
sollte dem geklonten Modell explizit eine neue Callback-Prozedur zugewiesen
werden. |
|
Ist ein Modell ein deep
clone , werden die Werte von resource.lod.level
und resource.lod.auto nicht mitgeklont. |
|
Wenn Sie eine Lichtquelle entfernen,
wird jeder Klon des Lichts deaktiviert, d. h. er trägt nicht
mehr zur Beleuchtung der Szene bei, kann nicht entfernt werden und
jeglicher Zugriff auf seine Eigenschaften führt zu einer Fehlermeldung. |
3D, Exporter
|
Der Exporter für 3D Studio MAX funktioniert nur mit Version 3.1 von 3D Studio MAX. |
|
Wenn eine Szene mit mehreren Animationen aus
MAX exportiert wird, so wird die Dauer sämtlicher Animationen
auf die Länge der längsten Animation eingestellt. In Director
werden die anderen Animationen mit Leerzeit aufgefüllt.
Nachfolgend einige Lösungsmöglichkeiten:
Sorgen Sie bei der Anwendungserstellung dafür, dass alle Animationen
zum Zeitpunkt Null beginnen, und geben Sie bei Verwendung von queue()
oder play() im Parameter endTime das tatsächliche
Ende der Animationen an. Sie können auch die Bewegungsdaten
individuell (ohne Geometrie) exportieren, diese reinen W3D-Dateien
mit Animation anschließend in die Besetzung importieren und
dann unter Verwendung von cloneMotionFromCastmember
die Animationen im gewünschten Darsteller einsetzen. Eine weitere
Möglichkeit besteht in der Verwendung von loadFile()
zum Laden und Zusammenführen der Animationen von Datenträgerdateien;
diese Methode weist in der Shockwave-Umgebung allerdings gewisse
Einschränkungen auf.
|
3D, Allgemein
|
Bei der Erstellung von Filmen
für ein breites Publikum in Shockwave 3D sollten Sie keine der
3D-Funktionen verwenden, die bei bestimmten älteren Grafikkarten
problematisch sind. Beispiel: Punkte, Drahtgitter, große Texturen
(ab 512x512), große Anzahl von Polygonen oder Nebel. Achten
Sie bei der Erstellung von Filmen auch darauf, dass Texture-Maps in
aufeinanderfolgenden Textur-Ebenen angelegt werden. |
|
Ein Aufruf von resetWorld()
bewirkt, dass alle eventuellen Lingo-Referenzen auf 3D-Szenenobjekte
ungültig werden. Dies betrifft globale Variablen ebenso wie alle
anderen Referenzen die bestanden, bevor der Aufruf resetWorld()
erfolgte. Der Versuch, auf diese gelöschten Objekte zuzugreifen,
führt zu einem Skriptfehler vom Typ "Objekt gelöscht". |
|
Shockwave3D-Darsteller benötigen zur
Laufzeit in Projektoren folgende Xtras:
- Shockwave3D,
- INetURL und
- NetFile.
|
|
Wenn in einem Film zwei aufeinanderfolgende
3D-Sprites vorliegen, kann es beim Bildwechsel zu einem Flackern kommen.
Dieser Effekt lässt sich durch Überlappen der beiden Sprites
in einem Bild reduzieren. |
3D, Havok-Xtra
|
In Abschnitt 1.1, "Xtra Behavior Reference", in der Havok-Dokumentation wird davon ausgegangen, dass die Verhalten "Physics (HKE)" oder "Physics (no HKE)" bereits am Sprite angebracht sind. Wenn keines dieser Verhalten am Sprite angebracht ist, kommt es beim Ausführen des folgenden Beispiels zu folgendem Skriptfehler: |
|
Script Error: Property not found |
|
pHavok = pSprite.pHavok |
|
#pHavok |
|
In Abschnitt 2, "Xtra Behavior
Reference", in der Havok-Dokumentation wird zu Unrecht behauptet,
dass auf die Havok-Verhalten über das Director-Dialogfeld "Besetzungsbibliothek"
zugegriffen werden kann. Diese Verhalten werden jedoch bei der Standardinstallation
von Director nicht in den Ordner "Libs" mitinstalliert. Um die Havok-Verhalten
in der Director-Umgebung zu verwenden, gehen Sie wie folgt vor: |
1 |
Kopieren Sie den Ordner "Havok Behaviors", der sich im Verzeichnis "Havok" auf der Installations-CD befindet, in das Verzeichnis "Libs" im Stammordner von Director. |
2 |
Starten Sie Director. |
3 |
Wählen Sie "Fenster"->"Bibliothekspalette"->"Havok-Verhalten". |
|
Die Funktion havokRef.rigidBody() unterscheidet zwischen Groß- und Kleinschreibung. |
3D, Lingo
|
Verwenden Sie go to the frame
nicht in einer Callback-Prozedur, wie etwa für einen Kollisions-Callback.
Verwenden Sie stattdessen lieber eine globale
Variable oder Eigenschaftsvariable in der Kollisionsprozedur als
Flagge, wenn Sie sie beenden möchten, und überprüfen
Sie den Status in einer normalen exitFrame -Prozedur
und führen Sie dann go to the frame dort aus.
|
|
Die drei Untereigenschaften ambient ,
diffuse und blend werden von den Eigenschaften
shader , inker und toon eines
Modells gemeinsam genutzt. Wenn Sie diese Werte für eine dieser
Eigenschaften einstellen, werden sie damit auch für alle anderen
miteingestellt. |
|
Wenn Sie die Eigenschaft the
floatPrecision für einen Vektors
auf eine hohe Genauigkeit einstellen, statt die standardmäßige
Fließkommazahl-Präzision zu verwenden, führt dies
zu Werten mit geringerer Präzision. Die standardmäßige
Fließkommazahl-Präzision ist 4.
Die Fließkommazahl-Präzision hat keinen Einfluss auf Transformationsmatrixen. |
|
Um auf die einzelnen X-, Y- oder Z-Komponenten der Eigenschaft axisAngle zuzugreifen und sie einzustellen, verwenden Sie transform.axisAngle.z (bzw. x odery
), da diese Eigenschaft nicht den Listenzugriff wie transform.axisAngle[1][1] unterstützt. |
|
Wenn Sie den Wert der Farbe eines Lichts oder seiner Klone ändern, führt dies dazu, dass alle Lichter den gleichen Wert haben. |
|
Der Lingo-Befehl sendEvent()
sendet nur Nachrichten an Skripte, die per registerForEvent()
registriert sind. Er sendet keine Nachrichten an Skripts, die per
member.model(1).registerscript() registriert sind. |
|
Wenn sich zwei Modelle berühren
und beide den #collision Modifizierer haben, kann es
beim Wechsel in aus Projektoren oder Shockwave-Fenstern zu einem Fehler
kommen. |
3D, Renderer
Allgemein
|
Bei der Installation von Director
8.5 wird nicht die Liste der nicht unterstützten Treiber installiert.
Die Liste der nicht unterstützten Treiber kann nur über
die Shockwave 3D-Plug-In-Installation installiert werden. Diese Liste
sorgt dafür, dass bestimmte Hardwarefunktionen für einen
Renderer nicht angeboten werden, wenn der betreffende Treiber bekannte
Probleme aufweist. Allerdings nutzen sowohl Shockwave 3D als auch
Director 8.5 die Liste der nicht unterstützten Treiber, falls
sie vorhanden sein sollte. |
|
Da sich die Bildrate der verschiedenen
Renderer stark unterscheidet, kann es vorkommen, dass ein Film zwar
korrekt auf einem Renderer mit langsamerer Bildrate abgespielt wird
(wie etwa dem Software Renderer), derselbe Film jedoch mit einem anderen
Renderer (wie etwa einem hardwarebasierten Renderer) falsch dargestellt
wird. |
|
Die 3D-Renderqualität und
-stabilität bei einer Multi-Monitor Konfiguration hängt
direkt von der Qualität der Grafikkarte und ihren Treibern ab.
Bei zwei Monitoren kann die 3D-Grafikdarstellung unter Umständen
sowohl unter Windows-, als auch auf Macintosh-Rechnern beeinträchtigt
sein. Es wird allgemein empfohlen, neuere Grafikkarten und die jeweils
aktuellsten Treiber zu verwenden. Sollten selbst nach dem Installieren
von Treiberupdates noch Probleme auftreten, wenden Sie sich bitte
an den Hersteller Ihrer Grafikkarte. |
|
Für den Software- und die
DirectX-Renderer werden Glanzlichter auf den Texturen aufgetragen.
OpenGL fügt Glanzlichter standardmäßig unter
den Texturen hinzu. Director nutzt eine OpenGL-Erweiterung, mit der
die Ergebnisse an der DirectX und des Software-Renderers angepasst
werden, aber nicht alle Grafikkarten oder OpenGL-Implementationen
unterstützen diese Erweiterung. Auf Macs kann diese Erweiterung
beispielsweise nicht eingesetzt werden. |
|
Das Flat-Shading eines Gitternetz-Primitiven
weist je nach OpenGL- oder DirectX-Renderer unterschiedliche Ergebnisse
auf. |
Hardware
Software
|
Bei Verwendung des Software-Renderers
kann das Kopieren von zu vielen 3D-Sprites auf die Bühne dazu
führen, dass Director mit einer Fehlermeldung beendet wird, da
der Software-Renderer mehr Speicher beansprucht als die Hardware-Renderer.
Dies liegt daran, dass er keinen Zugriff auf den Videospeicher hat
und Texturen nicht komprimiert. |
|
TextureRepeat ist im Softwaremodus grundsätzlich
auf TRUE gesetzt. |
|
Der Software-Renderer kann die
folgenden 3D-Funktionen nicht ausführen: Punkte, Drahtgitter,
flat shading, Kantenglättung (anti-aliasing). Beim Rendern von
32-Bit-Texturen im #rgba8888 Modus erscheinen Grafiken, die mit Software
gerendert wurden, fehlerhaft, da keine Unterstützung für
Texturfilterung vorliegt |
3D, Text
|
Wenn Sie ein 3D-Text-Sprite im
Shockwave 3D-Fenster öffnen möchten, wählen Sie "Datei">"Voreinstellungen">"Editoren",
wählen Sie "3D-Text", klicken Sie auf "Bearbeiten" und wählen
Sie anschließend "3D-Text in Shockwave 3D bearbeiten". Sobald
Sie das Shockwave 3D-Fenster als Standardeditor für 3D-Text festgelegt
haben, können Sie den Darsteller bearbeiten, indem Sie entweder
das Sprite auf der Bühne auswählen und die Eingabetaste
drücken oder den Darsteller im Besetzungsfenster oder im Drehbuch
auswählen bzw. das Piktogramm im Eigenschafteninspektor markieren
und dann doppelklicken oder die Eingabetaste drücken. |
|
Die Modifizierer SDS
(Oberflächenunterteilung) und LOD (Detailreduzierung)
können nicht für 3D-Text eingesetzt werden. |
|
Die Verhalten "Sprite-Übergänge"
in der Verhaltensbibliothek funktionieren nicht für 3D-Text. |
|
Wenn Sie eine Textur auf extrudierten
3D Text anwenden, der in einen leeren Shockwave 3D-Darsteller übertragen
wurde, muss der Texturdarsteller in der Besetzung vor dem 3D-Darsteller
sein, da die Textur andernfalls nicht angezeigt wird. |
|
Ein 3D Textmodell, welches in
einen 3D-Darsteller extrudiert wurde, muss unter Umständen in
Richtung Kamera gedreht werden oder umgekehrt. |
|
Der Befehl "In Bitmap konvertieren"
funktioniert nicht für 3D-Darstellern. |
|
Der Lingo-Befehl shaderList[x]
weist den Shader auf den durch x angegebenen Buchstaben zu ; shaderList[2]
würde einen Shader also auf den zweiten Buchstaben im Textdarsteller
anwenden. |
|
Unterstreichungen und Bildlaufleisten
funktionieren nicht für 3D-Textdarsteller. |
|
Wenn Texturen auf einem 3D-Textdarsteller
flackern oder nicht richtig ausgerichtet sind, setzen Sie the
textureRepeatMode auf FALSE . Dieses Problem tritt
nur bei bestimmten Grafikkarten-/Rendererkombinationen auf. |
Allgemein
|
Das Kopieren und Einfügen von Sprites oder Darstellern zwischen unterschiedlichen Versionen von Director wird nicht unterstützt. |
Installation
|
Um Director auf einem Windows 2000-System zu installieren, benötigen Sie Administratorzugriffsrechte. |
Lingo
|
Entwickler sollten größte
Vorsicht walten lassen wenn sie in ihrem Code zirkuläre Bezüge
verwenden, wie etwa: |
|
x = [1,2,3]
y = [4,5,6]
y[3] = x
x[3] = y
|
|
X bezieht sich auf y, y bezieht
sich auf x - dies ist ein so genannter zirkulärer Bezug, der
vermieden werden sollte, um Speicherfehler zu vermeiden. Zirkuläre
Bezüge können auch bei der Parent-Child-Skripterstellung
auftreten, wenn sich ein Ancestor-Objekt auf sein eigenes Child-Objekt
bezieht. Beispiel: Das Ancestor-Objekt verwaltet eine Liste aller
Instanzen sämtlicher Skripts, die Eigenschaften von ihm übernehmen,
und jedes geerbte Skript verwaltet einen Bezug auf sein Parent-Objekt.
In diesem Fall geht jede Instanz verloren und sollte nach ihrer Verwendung
entfernt werden. Obwohl Director beim Beenden belegten Speicher leert,
liegt es am Entwickler, in derartigen Fällen den Speicher selbst
freizugeben. |
|
Das Director-Fortsetzungszeichen
aus früheren Versionen (¬) bewirkt einen Skriptfehler, wenn
Skripts in der Authoring-Umgebung neu kompiliert werden. Stattdessen
sollte das neu in Director 8 eingeführte Fortsetzungszeichen,
der Rückwärtsschrägstrich (\), verwendet werden. Dies
führt nicht zu Fehlern bei alten Projektoren oder Shockwave-Filmen,
selbst wenn diese vom Shockwave 8.5-Plug-In abgespielt werden. |
Als Java speichern
|
Das Installationsprogramm für "Als Java speichern" ist in diesem Release nicht enthalten. |
Shockwave
|
Entwickler, die Shockwave-Filme erstellen, stellen möglicherweise fest, dass die Größe ihrer .dcr-Dateien um 500 bis 1000 Bytes reduziert wird, wenn sie unmittelbar vor dem Veröffentlichen alle Skripts neu kompilieren und anschließend speichern. |
|
Die Eigenschaft preload
von extern verknüpften Shockwave 3D-Darstellern führt dazu,
dass Director den betreffenden Darsteller vollständig laden muss,
bevor er wiedergegeben werden kann. Eine Ausnahme hiervon besteht
bei Shockwave: Hier wird bewirkt, dass der Darsteller mit dem Streamen
beginnen muss, sobald der Film startet. Dies entspricht dem Verhalten
von Flash-Darstellern. Daher ist es wichtig, die Eigenschaft state
des 3D-Darstellers zu überprüfen, um sicherzustellen, dass
zumindest der Header geladen ist (state >= 2 ), bevor
3D-Lingo-Aktionen mit dem betreffenden Darsteller durchgeführt
werden können. |
Sound
|
Bei der Verwendung der Lingo-Sound-Befehle, die in Director 8 eingeführt wurden, sollten Sie für die Lingo-gesteuerte Audiowiedergabe Kanal 3-8 verwenden, um Konflikte mit Drehbuch-Sounds, die in Soundkanal 1 und/oder 2 abgespielt werden, zu vermeiden. |
|
Bei der Vorschau von Sounds im Eigenschafteninspektor verwendet Director zum Abspielen der Sounds Kanal 1. Falls Sie also eine Warteschlange für Kanal 1 eingerichtet haben, wird durch die Verwendung des Eigenschafteninspektors der Inhalt der Warteschlange gelöscht. |
|
Verwenden Sie sound(whichChannel).status <> 0 anstelle von soundBusy(
whichChannel
) , um zu bestimmen, ob ein Soundkanal verfügbar ist oder gegenwärtig verwendet wird. Status wird direkt von der Kanal-Engine aktualisiert und verfolgt Änderungen, die von anderen neuen Befehlen vorgenommen werden, rascher und präziser. |
Hinweise zur Dokumentation
 
3D-spezifische Nachträge zum Lingo-Wörterbuch
|
Die Syntax für die Eigenschaft debugPlaybackEnables ist falsch. Die korrekte Syntax lautet folgendermaßen: |
|
the debugPlaybackEnabled
|
|
Der Eintrag zu generateNormals enthält falsche Bezüge auf #face . Das korrekte Symbol ist #flat . |
|
Die Eigenschaften targetFrameRate
und useTargetFrameRate wurden für 3D-Sprites hinzugefügt.
Die Eigenschaft targetFrameRate gibt die gewünschte
Anzahl von Bildern pro Sekunde beim Rendern des Sprites an.. Der Standardwert
ist 30 Bilder pro Sekunde. Ist die Eigenschaft useTargetFrameRate= TRUE ,
wird die Polygonanzahl der Modelle im Sprite entsprechend der angegebenen
Zielbildrate reduziert. Standardmäßig ist die Eigenschaft
useTargetFrameRate= FALSE . |
|
Verwenden Sie zur Einstellung von targetFrameRate die folgende Syntax: |
|
sprite(which3dSprite).useTargetFrameRate = TRUE
sprite(which3dSprite).targetFrameRate
|
|
Es wurde eine neue Shader-Eigenschaft namens textureList hinzugefügt. Sie verwendet die folgende Syntax: |
|
member().model().shader().textureList
|
|
Ein Shader kann bis zu acht Texturebenen verwenden. Die acht Einträge dieser Liste geben an, welche Texturen den einzelnen Ebenen zugewiesen sind. |
|
Beim Testen gibt diese Eigenschaft eine Liste der Texturobjekte mit jeweils einem Eintrag pro Ebene zurück. |
|
Wenn diese Eigenschaft eingestellt
ist, gibt sie ein Texturobjekt an, das auf alle Ebenen angewendet
werden soll. Mit dem Argument void lässt sich die
Texturliste für alle Ebenen leeren. |
|
Um das Texturobjekt für eine bestimmte Texturebene einzustellen, verwenden Sie für die Angabe der Ebene Listenklammern. |
|
member().model().shader().textureList[index]
|
|
Der Eintrag smoothness sollte keinen Querverweis auf den Eintrag numSegments enthalten. Diese Begriffe haben nichts miteinander zu tun. |
|
Der Eintrag removeModifier sollte Querverweise auf die Einträge addModifier , modifier , modifier[] und modifiers enthalten. |
|
Der Eintrag addModifier sollte Querverweise auf modifier und modifier[] enthalten. |
|
Das Beispiel im Eintrag removeOverlay enthält fälschlicherweise eckige Klammern ([]
). Die korrekte Beispielsyntax lautet sprite(5).camera.removeOverlay(1) . Die Syntax für die Befehle removeOverlay() und removeBackdrop() stützt sich auf den Befehl deleteAt() , der zum Bearbeiten von Listen verwendet wird. |
|
Die Eigenschaft sizeRange von Partikelsystemressourcen enthält zwei Untereigenschaften. Die Eigenschaft sizeRange.start gibt die Größe der Partikel zu Beginn ihrer Lebensdauer an. Die Eigenschaft sizeRange.end gibt ihre Größe am Ende ihrer Lebensdauer an. Diese beiden Eigenschaften sollten als separate Einträge im Lingo-Wörterbuch aufgeführt werden. |
|
Das 3D-Lingo-Wörterbuch enthält Einträge sowohl für die Kameraeigenschaft fieldOfView als auch die Kameraeigenschaft projectionAngle . Diese Eigenschaften sind identisch; es wird empfohlen, nur die Eigenschaft fieldOfView zu verwenden. |
|
Der Eintrag registerForEvent() sollte einen Querverweis auf den Eintrag unregisterAllEvents() enthalten. |
|
Der Abschnitt "Text (3D)" im Kapitel "3D-Lingo nach Funktion" des Lingo-Wörterbuchs sollte den Eintrag autoCameraPosition enthalten. |
|
Wenn Sie eine uneinheitliche Skalierung
und einen benutzerdefinierten pointAtOrientation -Wert
für den gleichen Node wie etwa ein Modell anwenden, bewirkt der
Aufruf von pointAt höchstwahrscheinlich eine unvorhergesehene
uneinheitliche Skalierung. Dies liegt an der Reihenfolge, in der die
uneinheitliche Skalierung und die Drehung angewendet werden, um den
Node korrekt auszurichten. Zur Behebung dieses Problems stehen Ihnen
verschiedene Möglichkeiten zur Verfügung: |
1 |
Vermeiden Sie die gleichzeitige
Verwendung einer uneinheitlichen Skalierung und nicht-standardmäßige
Werte für pointAtOrientation für denselben
Node. |
2 |
Entfernen Sie vor dem Aufruf von
pointAt die Skalierung für den Node und wenden Sie
sie anschließend wieder an. Beispiel: |
|
scale = node.transform.scale
node.scale = vector( 1, 1, 1 )
node.pointAt(vector(0, 0, 0)) -- nicht-standardmäßiger pointAtOrientation-Wert
node.transform.scale = scale
|
|
Der Lingo-Befehl scale() für Transformationen kann auch einen Vektor annehmen. |
|
Eine neue Eigenschaft für 3D-Darsteller, bgColor , wurde hinzugefügt. Diese Eigenschaft steuert die Hintergrundfarbe von 3D-Darstellern und kann mithilfe der folgenden Syntax auf jeden gültigen RGB-Wert eingestellt werden: |
|
member(whichMember).bgColor = rgbValue
|
3D-Abschnitte in "Was ist neu in Director 8.5?"
|
Die Eigenschaft member().model().modifier
sollte in der Liste der für Modelle verfügbaren Eigenschaften
enthalten sein. Diese Liste erscheint in Kapitel 7, "Mit Modellen
und Modellressourcen arbeiten". |
|
Die Eigenschaft smoothness von 3D-Text hat einen Höchstwert von 10. In Kapitel 5, "Mit 3D-Text arbeiten", wird dieser Höchstwert fälschlicherweise als 100 angegeben. |
|
Der Abschnitt "3D-Welt" in Kapitel 3, "3D-Grundlagen", enthält den folgenden falschen Satz: |
|
"Shader werden Modellressourcen zugewiesen und von allen Modellen, die auf dieser Modellressource basieren, gemeinsam verwendet." |
|
Dieser Satz sollte richtig lauten: |
|
"Shader werden individuellen Modellen zugewiesen." |
|
Der Abschnitt "Eigenschaften des Standard-Shaders" in Kapitel 7, "Mit Modellen und Modellressourcen arbeiten", enthält eine Beschreibung von blendFunctionList , in der es fälschlicherweise heißt, dass #alpha und #constant mögliche Werte dieser Eigenschaft sind. Diese Werte stehen bei blendFunctionList jedoch nicht zur Verfügung. |
|
Das Thema "Lingo für 3D-Text" in Kapitel 5, "Mit 3D-Text arbeiten", enthält den folgenden Satz: |
|
"Informationen zu Methoden und Eigenschaften, die in Verbindung mit 3D-Text nicht eingesetzt werden können, finden Sie im Abschnitt "Ausnahmen"." |
|
Dieser Satz sollte richtig lauten: |
|
"Praktisch alle Lingo-Elemente
für Text funktionieren auch für 3D-Text. Informationen zu
Methoden und Eigenschaften, die in Verbindung mit 3D-Text nicht eingesetzt
werden können, finden Sie im Abschnitt "Ausnahmen"." |
|
Der Satz vor der Tabelle im Abschnitt "Ausnahmen" sollte wie folgt lauten: |
|
"Die folgenden Befehle und Eigenschaften, die von normalem Text verwendet werden, funktionieren bei 3D-Text nicht wie erwartet." |
|
Der Abschnitt "Neue Lingo-Elemente für 3D-Text" in Kapitel 5, "Mit 3D-Text arbeiten", sollte in der Tabelle auch den Eintrag autoCameraPosition enthalten. |
|
Informationen zum Vorbereiten
von 3D-Inhalt auf die Verwendung in Director 8.5 ist in einem Artikel
im Director Support Center auf der Website von Macromedia enthalten.
Dieser Artikel bietet auch Informationen zur Verwendung des 3D SpeedPort-Xtra
für Director 8.5, welches zum Konvertieren von 3D-OBJ-Dateien
in W3D-Dateien verwendet wird. |
 
Lingo-Wörterbuch
|
Der Eintrag mostRecentCuePoint sollte Querverweise auf die Einträge cuePointTimes und on cuePassed enthalten. |
|
Die Eigenschaft currentTime kann nur für herkömmliche Sounddarsteller (WAV, AIFF, SND) eingestellt werden. |
|
In den folgenden Einträgen des Lingo-Wörterbuchs sind die Verknüpfungen zu den "Show Me"- und Beispielfilmen falsch: frameReady() , map() , mediaReady und on streamStatus . Die Beispielfilme für diese Einträge finden Sie im "Show Me"-Ordner von Director 8.5. |
|
Der Eintrag soundChannel sollte einen Querverweis auf den Eintrag currentChannel enthalten. |
|
Der Befehl play() sollte im Abschnitt "Sound" des Kapitels "Lingo nach Funktion" enthalten sein. |
|
Die Eigenschaft channelCount() kann
nur bei Sounddarstellern getestet werden. Bei Verwendung mit Soundkanälen
wird ein falsches Ergebnis zurückgegeben. Der Eintrag channelCount()
enthält falsche Bezüge auf Soundkanäle. |
|
Der Eintrag repeat with enthält die folgende Syntax: |
|
repeat with counter = start to finish
Anweisung(en)
end
|
|
Die letzte Zeile dieses Beispiels sollte wie folgt lauten: |
|
end repeat
|
|
Die Eigenschaft rateShift von Sounds in der Warteschlange kann nun mit so genannten "Cents" eingestellt werden. Ein Cent ist ein Hundertstel eines Halbtons. Spezifizieren Sie Cents anhand von Fließkommazahlen mit zwei Dezimalstellen, wie 1.35, wobei die Ganzzahl 1 der Halbton ist und der Dezimalwert .35 die Cents angibt. |
|
Der Eintrag copyToClipboard enthält unvollständige Informationen. Sie können mit diesem Befehl Darsteller zwischen einzelnen Filmen sowie für Felder, Bitmapdarsteller und Sounddarsteller kopieren. Außerdem können Sie damit Darsteller in andere Anwendungen kopieren. |
|
Der Abschnitt "Text" im Kapitel "Lingo nach Funktion" des Lingo-Wörterbuchs enthält fälschlicherweise eine Liste mit Lingo-Elementen, die mit den Textboxen von Felddarstellern verwendet werden. |
|
Die Listen der Lingo-Elemente, die mit Schaltflächen und Menüs verwendet werden, sind nur schwer zu finden. Sie befinden sich im Abschnitt "Benutzeroberflächenelemente" des Kapitels "Lingo nach Funktion". |
|
Der Eintrag disableImagingTransformation enthält falsche Syntaxangaben. Richtig muss die Syntax wie folgt lauten: |
|
the disableImagingTransformation
|
|
Das Kapitel "Lingo nach Funktion"
enthält eine Liste mit Elementen, die zur Durchführung von
Bildoperationen zur Laufzeit geeignet sind. Diese Liste ist im Abschnitt
"Bitmaps" des Kapitels enthalten. |
|
Der Eintrag scrollByLine
im Lingo-Wörterbuch gibt fälschlicherweise an, dass Zeilen
durch RETURN-Zeichen getrennt werden und nicht durch einen automatischen
Zeilenumbruch. Zeilen mit Zeilenumbruch werden als separate Zeilen
angesehen. |
|
Die Darstellereigenschaft type enthält jetzt den für für 3D-Darsteller gültigen Wert #shockwave3D . |
 
Multiuser Server-Abschnitte im Handbuch "Was ist neu in Director 8.5?"
|
Der Serverbefehl getUserCount kann mithilfe einer Listensyntax Informationen über mehrere Serverfilme gleichzeitig abrufen. Die folgende Syntax sollte verwendet werden: |
|
gMultiUserInstance.SendNetMessage("system.movie.getUserCount",
anySubject, ["Movie1", "Movie2"])
|
|
Der Abschnitt "Übersicht über serverseitige Skriptobjekte" im Kapitel "Skripterstellung für den Multiuser Server" enthält ein Beispiel, das durch den folgenden Satz eingeleitet wird: |
|
"Die folgenden Anweisungen erstellen ein Parent-Skript aus dem Text der Datei "testScript.ls":" |
|
Dieser Satz enthält einen falschen Bezug auf Parent-Skripts. Richtig sollte er lauten: |
|
"Die folgenden Anweisungen erstellen ein globales Skript aus dem Text der Datei "testScript.ls":" |
|
Im Kapitel "Multiuser-Lingo-Wörterbuch" enthält der Eintrag setBreakPoint() die folgenden falschen Angaben: |
|
"Ein Breakpoint kann nur dann ausgelöst werden, wenn er in einer Prozedur festgelegt ist, die in einem mit dem Befehl new() (Thread) erstellten Thread läuft. Im Standard-Thread des Servers können keine Breakpoints festgelegt werden." |
|
Tatsächlich ist es jedoch so, dass der Haupt-Thread sowie alle weiteren mithilfe des Befehls new() erstellten Threads Breakpoints enthalten und debuggt werden können. |
|
Die folgende Syntax entfernt alle Breakpoints in einem Skriptobjekt: |
|
scriptObject.setBreakPoint(-1, -1, 0)
|
|
Der Befehl changeMovie wurde zum Server hinzugefügt. |
|
Mit diesem Serverbefehl können
Benutzer von einem Film zu einem anderen wechseln, ohne dabei die
Verbindung zum Server zu beenden. Dieser Befehl bewirkt, dass der
Benutzer beim aktuellen Film abgemeldet wird, alle Gruppen verlässt,
die Laufzeitattribute aufgibt usw., ganz so, als habe er sich abgemeldet.
Anschließend wird der Benutzer bei dem durch SomeMovieID
angegebenen neuen Film angemeldet, und zwar unter Verwendung der gleichen
Benutzer-ID, des gleichen Kennworts und der gleichen moviePath -Informationen
wie bei der ursprünglichen Verbindung. Damit werden Lobby-Anwendungen
benutzerfreundlicher gestaltet, da Sie zwischen Filmen wechseln können,
ohne eine neue Serververbindung herstellen zu müssen. |
|
Der Befehl changeMovie verwendet die folgende Syntax: |
|
errCode =
gMultiuserInstance.sendNetMessage("System.User.ChangeMovie",
"=anySubject", "SomeMovieID")
|
|
Der Befehl sendNetMessage() kann mit einer optionalen Eigenschaftenlistensyntax verwendet werden. Die optionale Syntax lautet wie folgt: |
|
gMultiuserInstance.sendNetMessage([#recipients:
whichUsersOrGroups#subject: "Beispielbetreff", #content:
whatMessage])
|
|
Der Datenbankbefehl getUserNames sollte im Abschnitt "Datenbankbefehle" im Kapitel "Multiuser-Lingo nach Funktion" enthalten sein. |
|
Es gibt jetzt zwei neue Thread-Eigenschaften zum Verwalten der Thread-Aktivität: runPeriod und sleepPeriod . Mit diesen Eigenschaften können Sie festlegen, wie lange ein bestimmter Thread die CPU beansprucht oder nicht aktiv ist. |
|
Der Wert runPeriod wird in Millisekunden angegeben und definiert den Zeitraum, in dem der Thread die CPU nutzt, bevor er in den Ruhezustand versetzt wird. Die Laufperiode läuft nur aus, wenn der Thread Lingo ausführt und damit auf die CPU zugreift. Die Laufzeit eines Threads im Ruhezustand läuft nicht aus. Diese Bedingung steht nicht im Konflikt mit der Ausführung anderer Threads. Wenn runPeriod auf 0 gesetzt ist (Standard), ist die Laufzeit endlos. |
|
Stellen Sie runPeriod unter Verwendung der folgenden Syntax ein: |
|
aThreadReference.runPeriod = timeInMilliseconds
|
|
Hinweis:
Eine Eigenschaftsvariable namens abortCheckPeriod
wurde zur Multiuser Server-Datei "Dispatcher.ls" hinzugefügt.
Diese Datei enthält Code, der nach Threads sucht, die länger
ausgeführt werden als in abortCheckPeriod festgelegt.
Wenn ein Thread den Wert abortCheckPeriod überschreitet,
wird er angehalten und gibt den Status #error zurück.
Um dies zu verhindern sollten Sie dafür sorgen, dass der Code,
der von einem einzigen Thread ausgeführt wird, innerhalb einer
Periode ausgeführt werden kann, die kürzer ist als der Wert
von abortCheckPeriod , oder erhöhen Sie den Wert
von abortCheckPeriod . Der Standardwert ist 5000 Millisekunden. |
|
Der Wert sleepPeriod wird in Millisekunden angegeben und legt fest, wie lange der Thread im Ruhezustand ist, bevor seine Laufzeit abläuft. Ein Thread im Ruhezustand führt keinen Code aus und beansprucht keine CPU-Ressourcen. Wenn die Laufzeit abläuft, während Code ausgeführt wird, wird dieser Code nicht weiter ausgeführt, sobald die Ruhezeit abläuft. Wenn eine Prozedur auf diese Weise unterbrochen wird, muss sie nach Ablauf der Ruheperiode des Threads erneut aufgerufen werden. Aus diesem Grund sollten einzelne Threads nicht mehr als jeweils eine Aufgabe ausführen. |
|
Denken Sie daran, dass repeat -Schleifen kurz gehalten oder ganz vermieden werden sollten, da es sich bei ihnen um die einzige Lingo-Codestruktur handelt, die die gesamte CPU-Kapazität beansprucht und daher den Zugriff durch andere Threads verhindert. |
|
Stellen Sie die Eigenschaft sleepPeriod mithilfe der folgenden Syntax ein: |
|
aThreadReference.sleepPeriod = timeInMilliseconds
|
|
Im Ordner "Scripts" des Multiuser Servers befindet sich jetzt eine Datei namens "GlobalScripts.ls". Stellen Sie Prozeduren, die von einem Client-Film ausgeführt werden sollen, in diese Datei. Sie können diese Prozeduren auch von jedem beliebigen Film ausführen, als ob sie sich in der mit dem betreffenden Film verknüpften Skriptdatei befänden. Sie können auch eigene globale Skriptdateien hinzufügen, indem Sie sie an die Variable globalScriptList in der Datei "ScriptMap.ls" anfügen. |
|
Zur Datei "ScriptMap.ls" wurde eine scriptObjectList -Prozedur hinzugefügt. Wenn Sie Skripts haben, die Sie als Parent-Skripts zum Erstellen von Child-Objekten verwenden möchten, fügen Sie sie dieser Liste hinzu. Mithilfe von Lingo können Sie dann die Prozedur findScriptByName in der Dispatcher-Datei aufrufen, um einen Bezug zum gewünschten Parent-Skript herzustellen: |
|
myRef = findScriptByName("MeinParentSkript")
|
|
Verwenden Sie dann die Funktion new() mit dem Skriptbezug, den Sie gerade hergestellt haben: |
|
myChildObject = new(myRef)
|
|
Aufgrund der in der Multiuser-Dokumentation erwähnten neuen Debugging-Funktionalität sollte die folgende Zeile aus der Datei "scriptmap.ls" entfernt werden: |
|
-- theMap.append( [ #movieID: "Debug", #groupID: "@DebugGroup",
#scriptFileName: "Debug.ls" ] )
|
|
ChangeMovie syntax
- recipient: System.User.ChangeMovie content: "SomeMovieID ".
Mit diesem Befehl können Benutzer von einem Film zu einem anderen
wechseln, ohne dabei die Verbindung zum Server zu beenden. Dieser
Befehl bewirkt, dass der Benutzer beim aktuellen Film abgemeldet wird,
alle Gruppen verlässt, die Laufzeitattribute aufgibt usw., ganz
so, als habe er sich abgemeldet. Anschließend wird er beim neuen
Film namens SomeMovieID
angemeldet, und zwar unter Verwendung der gleichen Benutzer-ID, des
gleichen Kennworts und der gleichen moviePath -Informationen
wie bei der ursprünglichen Verbindung. Diese Funktionsänderung
wurde implementiert, um Lobby-Anwendungen benutzerfreundlicher zu
gestalten. Damit können Sie zwischen Filmen wechseln, ohne eine
neue Serververbindung herstellen zu müssen. |
Online-Hilfe
 
Director-Benutzerhandbuch
|
Der Abschnitt "Was ist neu in Director 8?" im Kapitel "Erste Schritte" enthält einen Querverweis auf Bilddarstellungs-Lingo. Durch Klicken auf den entsprechenden Link gelangen Sie fälschlicherweise zum Abschnitt "Bitmapgrafiken mit Lingo steuern" in Kapitel 12, "Vektorformen und Bitmaps". Stattdessen sollte eine Verknüpfung zum Unterabschnitt "Grafikobjekte erstellen" im Abschnitt "Bitmapgrafiken mit Lingo steuern" bestehen. |
|
Der Abschnitt "Was ist neu in Director 8" im Kapitel "Erste Schritte" sollte einen Link zum neuen Abschnitt "Timeout-Objekte erstellen" in Kapitel 11, "Parent-Skripts", enthalten. |
|
Der Abschnitt "Was ist neu in Director 8" im Kapitel "Erste Schritte" enthält einen Eintrag zu mehreren Kurvenvektoren, der einen falschen Querverweis auf den Abschnitt "Vektorformen zeichnen" in Kapitel 12, "Vektorformen und Bitmaps", enthält. Richtig sollte auf den Unterabschnitt "Vektorform-Zeichenwerkzeuge verwenden" im Abschnitt "Vektorformen zeichnen" verwiesen werden. |
|
Der Abschnitt "Was ist neu in Director 8" im Kapitel "Erste Schritte" enthält einen Eintrag zum Befehl "Veröffentlichen", der einen falschen Querverweis auf den Abschnitt "Shockwave-Filme erstellen" in Kapitel 17, "Filme zur Verteilung verpacken", enthält. Richtig sollte auf den Unterabschnitt "Standardeinstellungen für die Veröffentlichung verwenden" im Abschnitt "Filme zur Verteilung verpacken" verwiesen werden. |
|
Der Abschnitt "Reihenfolge von
Nachrichten in einem Film" im Kapitel "Skripts mit Lingo schreiben"
enthält eine unklare Beschreibung des Zeitpunkts, zu dem das
Ereignis startMovie stattfindet. Gegenwärtig heißt
der Text wie folgt: "Dieses Ereignis findet im ersten abgespielten
Bild statt." Tatsächlich findet das Ereignis startMovie
nach dem Ereignis prepareFrame für Bild 1 und vor
dem Ereignis enterFrame für Bild 1 des Films statt.
|
|
Der Abschnitt "Shockwave Audio und MP3-Audio mit Lingo abspielen" im Kapitel "Sound, Video und Synchronisation" sollte Verweise auf die folgenden im Lingo-Wörterbuch definierten Lingo-Begriffe enthalten: id3Tags , mpegLayer , currentChannel , currentTime , cuePointNames , cuePointTimes , isPastCuePoint , mostRecentCuePoint und on cuePassed() . |
|
Die Eigenschaft currentChannel wurde für Shockwave Audio-Sprites und -Darsteller hinzugefügt. Diese Eigenschaft zeigt die Nummer des gegenwärtig vom angegebenen SWA-Darsteller oder -Sprite verwendeten Soundkanals an. Dies ist hilfreich, da SWA-Darsteller als ihre Kanalzuweisung per Vorgabe 0 verwenden. Wenn der SWA-Darsteller abgespielt wird, macht Director (ausgehend bei Kanal 8 in Richtung Kanal 1) einen nicht benutzten Soundkanal ausfindig, den er dann dem Darsteller zuweist. Diese Eigenschaft kann getestet, aber nicht eingestellt werden. |
|
Verwenden Sie zum Testen dieser Eigenschaft die folgende Syntax: |
|
member(whichSWAMember).currentChannel
|
|
Im Abschnitt "Director verwenden"
> "Filme im Internet abspielen" > "Filmabspieloptionen einstellen"
heißt es, dass die Option "Abspielen, während Film geladen
wird " im Dialogfeld "Modifzieren" > "Film" > "Abspielen" per
Vorgabe aktiviert sei. In Director 8.5 ist diese Option jedoch per
Vorgabe deaktiviert. |
 
Bekannte Probleme
3D, Allgemein
|
Es gibt ein Problem,
das zu einer Beschädigung von Videodaten führen kann, die
zwischen AGP-Grafikadaptern und AMD Athlon- oder AMD Duron-Prozessoren
unter Microsoft Windows® 2000 gemeinsam genutzt werden. Informationen
zur Behebung von AGP-Grafikproblemen und Systemabstürzen finden
Sie hier: http://www1.amd.com/athlon/config |
|
Das Zurücksetzen der Uhrzeit eines Partikelsystems im Shockwave3D-Viewer-Fenster bewirkt eine Implosion der Partikel. |
|
Selbst nach dem Entfernen einer Kamera aus einer 3D-Welt erhalten Sie nach wie vor Ansichten von dieser Kamera. |
|
Wenn ein 3D-Sprite von einem anderen
Fenster überdeckt wird, wird die Bildratenleistung beeinträchtigt.
Für die Wiedergabevorschau sollte der Vollbildschirmmodus verwendet
werden. Dies kann auch dazu führen, dass komprimierter Sound
bei der Wiedergabe abgehackt klingt. |
|
Wenn Sie mithilfe des Shockwave
3D-Fensters die Position der Kamera in Bezug auf ein 3D-Text-Sprite
ändern, führt das Einstellen der Kameratransformation zu
einer Änderung der Position des gerichteten Lichts im Einklang
mit der neuen Kameraposition. Dies bedeutet, dass das Sprite im Media-Fenster
anders aussieht als auf der Bühne. Wenn Sie nicht wünschen,
dass die Position des Lichts geändert wird, positionieren Sie
mithilfe von Lingo den Textdarsteller um oder erstellen Sie Ihre eigenen
Lichter. |
|
Bei der Verwendung von resetWorld() ,
Lingo-Befehlen oder der Schaltfläche im Shockwave3D-Fenster im
Zusammehang mit 3D-Text wird nur die Kamera des Sprites zurückgesetzt,
nicht aber das Viewer-Fenster. Dieser Befehl setzt nur die Kamera
zurück. |
|
Eine im Eigenschafteninspektor
vorgenommene Aktualisierung der 3D-Darstellereigenschaften cameraPosition
und cameraRotation spiegelt sich nicht im Shockwave3D-Fenster
wider, falls es geöffnet ist. |
|
Wenn eine neue Textur auf ein
Modell angewendet wird, das auch eine Reflection-Map aufweist, erscheint
im Shockwave 3D-Fenster unter Umständen nur die Reflection-Map
des Modells. |
3D, Lingo
|
Tastaturereignisse können
nicht in Filmskripts verarbeitet werden; sie müssen auf Sprite-Ebene
erfasst werden, wenn ein 3D-Sprite vorhanden ist. |
|
Es können nicht zuverlässig
Modifizierer zu einem 3D-Text-Modell in einem Textdarsteller unter
der Verwendung einer on beginSprite -Prozedur hinzugefügt
werden. Eine Lösungsmöglichkeit besteht darin, das 3D-Textmodell
in einen Shockwave 3D-Darsteller zu überführen oder statt
on beginSprite ein anderes Ereignis zu verwenden. |
|
Wenn Animationen fertig abgespielt
sind, ihnen ein Befehl playNext() erteilt wurde oder
sie sich in der Abspielliste (playList ) befinden, kann
im Shockwave3D-Fenster keine Vorschau angezeigt werden. Um dieses
Problem zu beheben, klicken Sie auf die Schaltfläche resetWorld() ,
um den Modelldarsteller wiederherzustellen. |
|
Wenn die Eigenschaft rotationReset
von Knochen- oder Schlüsselbildanimationen auf einen anderen
Wert als #all (Standard) eingestellt wird, werden Positionsänderungen,
die unter Verwendung von positionReset erzeugt werden,
relativ angewendet und nicht absolut. Außerdem gilt, dass wenn
Sie positionReset auf TRUE setzen und für
rotationReset einen anderen Wert als #all
angeben, es zu unvorgesehenen Ergebnissen kommen kann. |
|
Das Einstellen der Achse von transform.axisAngle , wenn der Winkel gleich 0 ist, ist wirkungslos. |
|
Beim Hinzufügen des Modifizierers
#keyframeplayer erscheinen unter Umständen nur bestimmte
Teile eines Zweifüßermodells. Dieses Problem tritt nur
auf, wenn ein Zweifüßermodell-Sprite nicht bei Bild 1,
sondern bei einem anderen Bild beginnt. Wenn das Sprite bei Bild 1
beginnt, tritt dieses Problem nicht auf. Wenn Sie den Film zum zweiten
Mal abspielen oder ihn anhalten, wird das Zweifüßermodell
richtig dargestellt. |
|
Wenn Sie einen Offsetwert außerhalb des Bereichs startTime bis endTime angeben, kann dies zu unvorhergesehenen Ergebnissen führen: |
|
Wenn Sie einen Offsetwert kleiner als startTime angeben, kommt es zu einer Zeitverzögerung von startTime - Offset-Millisekunden vor Beginn der Animation. |
|
Wenn Sie einen Offsetwert größer als endTime angeben, kommt es zur Startzeit startTime + (Offset - endTime) . |
|
Versuchen Sie nicht, einen 3D-Darsteller
in einer on beginSprite -Prozedur vorauszuladen. Dies
schlägt fehl, da die Mediadaten des Darstellers möglicherweise
noch nicht geladen sind. Eine Lösungsmöglichkeit besteht
darin, ihn in einer exitFrame -Prozedur vorauszuladen. |
|
Die Normierung des position -Werts
einer Transformationsmatrix, wie etwa mit transform.position.normalize() ,
ist nicht möglich. Dies gilt auch für
alle Vektoreigenschaften wie beispielsweise die Richtung eines Partikelemitters.
|
|
Wenn der blendTime -Wert einer Knochenanimation auf eine negative Zahl eingestellt wird, wird die Animation unterbrochen. Wird der Wert auf Null gesetzt, treten die Animationen unter Umständen in der falschen Reihenfolge auf. |
|
Mithilfe von member(whichCastmember).model(whichModel).update
wird die Knochenstruktur des Modells aktualisiert; diese Aktualisierung
wird jedoch nicht neu gezeichnet, sondern bewirkt
nur, dass die Knochenstruktur an dem Simulationszeitpunkt aktualisiert
wird, zu dem die aktuelle Prozedur betreten wird. |
|
Auf dem Macintosh variiert camera.transform.position je nachdem, ob das Modell über loadFile() importiert wurde oder ob es eingefügt bzw. auf normale Weise importiert wurde. |
|
Nach dem Löschen einer Textur,
die als Hintergrund (backdrop ) einer Kamera verwendet
wurde, gibt die Quelle des Hintergrunds <void>
zurück. Wird dieser Vorgang für eine Überlagerung (overlay )
einer Kamera durchgeführt, kommt es jedoch zu einem Skriptfehler. |
|
Ein Shader kann keinem Modell zugewiesen werden, das keine modelResource aufweist. |
|
Bei Gitternetzprimitiven kann das Hinzufügen einer dritten Texturebene in einer Szene mit aktiviertem Nebel dazu führen, dass der Nebel seine Farbe ändert. |
|
Auf dem Macintosh werden bei Verwendung von generateNormals mit der Option #smooth die Gitternetznormalen nicht richtig geglättet. Dies liegt daran, dass der OpenGL-Renderer keine Glanzlichtdaten produzieren kann. |
|
Der Modifizierer #collision weist Einschränkungen im Hinblick auf die zulässigen Kollisionsmodi auf. Zulässige Kollisionsmodi: |
|
#sphere/#sphere |
|
#sphere/#box |
|
#box/#box |
|
#mesh/#mesh |
|
Die übrigen Kombinationen
werden wie folgt aufgelöst: #sphere/#mesh und #box/#mesh werden
aufgelöst in #sphere/#mesh bzw. #box/#box. |
|
Hinweis:
Eine Begrenzungskugel (bounding sphere) ist größer
als das Modell. Die Option #mesh/#sphere führt daher zu riesigen
Kollisionsgitternetzen, was aller Wahrscheinlichkeit nach nicht in
Ihrem Interesse ist. |
|
Die Skalierung der Kameraansicht kann sich auf das Rendern von großen Modellen in der Szene auswirken. Skalieren Sie daher also nicht die Kamera oder eines ihrer Parent-Objekte. |
3D, Renderer
|
Wenn OpenGL 1.2.1 auf der spanischen Version von Mac OS 8.6 installiert ist, stürzen alle Anwendungen, die OpenGL verwenden (einschließlich Director) ab. |
|
Beim Umschalten von Millionen/Tausenden von Farben auf 256 Farben wird der Renderer auf #software gesetzt. Dies geht jedoch nicht aus dem active3Drenderer -Wert im Eigenschafteninspektor hervor - dort wird der zuletzt verwendete Renderer aufgeführt. |
|
Nach der Installation von neuen
Grafiktreibern unter Windows 2000 wird ein Neustart empfohlen, obwohl
Windows 2000 nach der Installation oder der Aktualisierung von Treibern
nicht unbedingt einen Neustart verlangt. Starten Sie Windows 2000
immer neu, damit die Registeränderungen wirksam werden und Director
die Hardware richtig erkennen kann. |
|
Vermeiden Sie die Änderung
der Bildschirmfarbtiefe, während 3D-Inhalt aktiv ist. |
|
Unter Windows 95 gibt getRendererServices().getHardwareInfo()
möglicherweise falsche Daten zurück, wenn mehr als eine
Karte im System installiert ist oder war. |
|
Auf Windows-Computern, auf denen
DirectX 7 installiert ist, werden Reflection-Maps und Diffuselight-Maps
möglicherweise nicht richtig gerendert. Dies passiert, wenn Texturen
in nicht aufeinanderfolgenden Texturebenen angewendet werden. Dieses
Problem tritt bei einer Reihe von Produkten anderer Hersteller auf.
Benutzern wird empfohlen, den jeweils neuesten Treiber von der Website
des Grafikkartenherstellers herunterzuladen. |
|
Die Verwendung des OpenGL-Renderers auf einem MacOS X im Classic-Modus ist nicht möglich. |
|
Auf der Macintosh-Plattform erscheint Shockwave 3D im Authoring- oder Abspielmodus nicht auf dem zweiten Monitor, wenn die gleiche Anzeige auf zwei Monitoren dargestellt wird. |
|
Wenn Sie beispielsweise Shockwave
3D-Filme für eine Präsentation auf einem Laptop- und einem
weiteren Bildschirm simultan anzeigen möchten, müssen Sie
in den Software-Renderer umschalten. Im Authoring-Modus erfolgt dies
über das Register "Film" im Eigenschafteninspektor. Bei Browsern
schalten Sie die Rendereinstellungen um, indem Sie bei gedrückter
Strg-Taste klicken (Mac) oder rechtsklicken auf beliebigen Shockwave-Inhalt
und dann den 3D-Renderer ändern. |
|
Komplexe Polygon-Renderings können,
je nachdem, wie nah oder weit die sichtbaren Objekte in der Szene
entfernt sind und wie koplanar die Polygone sind, verzerrt wirken.
Bei zunehmenden Unterschied zwischen dem Nah-/Fernebereich werden
Pixelsortierungsprobleme beim Z-Puffer möglicherweise verstärkt.
Ein praktischer Lösungsansatz besteht neben dem Eliminieren der
oben genannten Bedingungen im Erhöhen des Wertes für camera.hither . |
3D, Text
|
Director zeigt höchstens 65 3D-Textzeichen pro Sprite an. |
|
Wenn Sie den tunnelDepth -Wert eines 3D-Text-Sprites ändern, während es sich dreht, ändert sich auch die Position der Kamera. |
|
Wenn Sie den smoothness -Wert eines animierenden 3D-Text-Sprites ändern, bleibt Director hängen. |
|
Wenn Sie zahlreiche Text-Sprites
gleichzeitig in 3D umwandeln, kann es auf manchen Rechnern zum Stillstand
oder Absturz kommen. |
|
Wenn Sie die Begrenzungsbox von
3D-Text vergrößern, während das Shockwave3d-Fenster
geöffnet ist, wird das 3D-Text-Sprite im Fenster größer
gezoomt. |
|
Die Piktogramme eines 3D-Textdarstellers und eines 2D-Textdarstellers sind identisch. |
|
Wenn ein Zeichen als Würfel erscheint, sollten Sie seine Position oder die Ausrichtung des Textdarstellers ändern. |
Verhalten
|
Wenn das Fernschreiber-Verhalten auf 2D- oder 3D-Text angewendet wird, kommt es bei Director unter Umständen zu einem Speicherfehler, falls die Textumbrucheigenschaft des Text-Sprites im Eigenschafteninspektor auf TRUE gesetzt ist. |
|
Die Chat-Verhalten funktionieren
nur, wenn die Sprite-Spannen der Schaltfläche "Anmelden" und
des Feldes "Chat-Eingabe" sowohl die Anmelde- als auch die Präsentationsszene
einschließen. |
Felder
|
Wenn Sie die Mischung eines Feld-
oder Schaltflächen-Sprites auf einen Wert unter 100 % einstellen,
wird der Text des Sprites falsch angezeigt.
Dieser Fehler tritt nur auf der Macintosh-Plattform auf. |
Fireworks Importer/Exporter
|
Wenn Sie die Komprimierung für einen Bitmapdarsteller im Register "Bitmap" des Eigenschafteninspektors auf "JPEG" einstellen, wird der betreffende Darsteller im Fenster "Optimieren in Fireworks..." möglicherweise nicht automatisch auf "Format=JPEG" gesetzt. Wählen Sie in diesem Fall im Fenster "Optimieren in Fireworks..." manuell JPEG als Format. |
|
Im Fireworks 4-Import-Xtra meldet der Eigenschafteninspektor fälschlicherweise, dass die Bit-Tiefe nach dem Importieren einer 24-Bit-Grafik 32 Bit beträgt. Richtig sollte es 24 Bit heißen. Dieser Fehler tritt nur auf Windows-Systemen auf. |
Flash
|
In einem importierten Flash-Film wird selbst nach Anhalten des Flash-Sprites Sound abgespielt. Verwenden Sie die Lingo-Eigenschaft pausedAtStart , um sicherzustellen, dass der Darsteller des Sprites angehalten wird. |
|
Wenn in einem Film extrem viele
Flash 5-Darsteller auftreten, kann es bei der Wiedergabe des Films
in einem Projektor zu Abstürzen kommen. Um dies zu vermeiden,
stellen Sie sicher, dass im Dialogfeld "Projektoroptionen" die Option
"Systemzwischenspeicher verwenden" aktiviert ist. |
|
Bei Verwendung des Flash 5-Asset-Xtras werden Aktionen im eingebetteten Flash-Inhalt möglicherweise nicht in der richtigen Reihenfolge ausgewertet. |
Allgemein
|
Auf dem Macintosh können
die Eigenschaften rect oder drawRect in
der Listenansicht des Eigenschafteninspektors nicht eingestellt werden. |
|
Director stürzt ab, wenn ein Shockwave-Film nach dem Öffnen in einem "Film in einem Fenster" (MIAW) in das Drehbuch gestellt wird. |
|
Wenn Sie für Ihren Film die
JPEG-Komprimierung wählen, wird die Änderung auch auf extern
verknüpfte Besetzungen übernommen. Diese Änderung wird
durch Deaktivieren dieser Option nicht rückgängig gemacht;
stattdessen müssen Sie diese Einstellung in jeder externen Besetzung
manuell rückgängig nachen. |
|
Projektoren, bei denen die Option "Im Hintergrund animieren" deaktiviert ist, verwechseln Aufruf- und Soundkanalinformationen, wenn sie den Fokus verlieren und dann neu erhalten. |
Hohe ASCII-Zeichen
|
Bei französischen Standardtastaturen kommt es unter Windows zu Problemen mit der Tastenkombination Strg-Alt. Die Betätigung von AltGr+<beliebige Taste> hat keinerlei Auswirkung in einem MIAW. Bei deutschen und französischen Tastaturen erzeugt die Tastenkombination Strg-Alt in den Text-, Feld-, Skript- und Nachrichtenfenstern keine Sonderzeichen. Dieses Problem tritt nur bei der Anwendungserstellung auf. |
|
Auf deutschen und französischen
Macintosh-Systemen bewirken Zeichen wie "¨", Trema, Warenzeichen
usw. bei der Verwendung von charToNum() möglicherweise
andere Werte als auf Windows-Systemen. Dieses Problem kann auch auf
englischen Systemen auftreten, wenn der Film auf einem Macintosh-System
mit Unterstützung für hohe ASCII-Zeichen erstellt wurde. |
|
Das Verhalten von Lingo-Code bei diakritischen Zeichen ist bei Verwendung der Funktion findPosNear() nicht einheitlich. |
Installation
|
Wenn die Macromedia-Laufzeitbibliothek
für Director 8.5 auf dem Macintosh in den Systemordner installiert
wird, kann Director 7 nicht starten. |
|
Wenn der Benutzer unmittelbar
nach Installation des Shockwave-Plug-Ins 3D-Inhalt sehen möchte,
ist eventuell ein Neustart des Systems erforderlich, obwohl er dazu
nicht explizit aufgefordert werden. Dieses Problem wurde nur für
einige wenige Windows-Systeme berichtet. |
Japanisch
|
Auf japanischen Systemen akzeptieren bearbeitbare Felder nicht die erste Bestätigung eines Zeichenkandidaten beim Abspielen eines MIAWs. Drücken Sie einfach so lange die Leertaste, bis das Fenster ausgeblendet wird. |
|
Die Lingo-Eigenschaft itemDelimiter kann nicht auf Doppelbyte-Zeichen eingestellt werden. |
|
Auf dem Macintosh akzeptieren Sprite-Namen keine Doppelbyte-Zeichen im Besetzungsfenster, wenn es sich in der Listenansicht befindet. |
Koreanisch
|
Koreanische Benutzer sollten wissen, dass Doppelbyte-3D-Text, der auf koreanischen Macintosh-Systemen erstellt wurde, nicht richtig angezeigt werden, wenn der Film auf koreanischen Windows-Systemen angezeigt wird. Damit die Zeichen richtig dargestellt werden, muss die Schriftart für den 3D-Text im Film eingebettet werden. |
|
Koreanische Macintosh-Benutzer
sollten wissen, dass das Extrudieren von koreanischem 3D-Text nur
mit wenigen koreanischen Schriftarten möglich ist. Die koreanische
Version von Director 8.5 lässt zum Extrudieren von 3D-Text nur
regulär konturierte TrueType-Schriften und Type1-PostScript-Schriften
zu. Das Extrudieren von koreanischem 3D-Text mit Fbit/Sbit-TrueType-Schriften
und Type0/Type3/Type4-PostScript-Schriften ist nicht möglich. |
|
Wenn der Filmpfad auf koreanischen Windows-Systemen mit Internet Explorer koreanische Zeichen enthält, kann der Shockwave-Film möglicherweise nicht geladen werden. Der Verzeichnisname mit dem Shockwave-Film sollte keine Doppelbyte-Zeichen enthalten. |
Lingo
|
Die Verwendung von me.spriteNum in einer isOkToAttach -Prozedur führt zu einem Absturz. Verwenden Sie stattdessen die Callback-Parameter aSpriteType und aSpriteNum . |
|
Beim Bezug auf die scriptInstanceList eines leeren Sprites werden die Verhalten für alle Sprites im betreffenden Kanal deaktiviert. |
|
Die Funktion GotoNetPage öffnet keine lokale Datei in AOL 4 oder AOL 5.0. Sie funktioniert jedoch einwandfrei, wenn sich die Dateien auf einem HTTP-Server befinden. |
|
Wenn Sie den Wert von keyPressed in einer keyDown -Prozedur testen, erhalten Sie nicht das unmittelbar darauffolgende keyUp -Ereignis. |
|
Wenn Sie einen Punkt zu einem Quad hinzufügen, werden die letzten beiden Punkte des Quads entfernt. |
|
Bei Aufruf von keypressed
unmittelbar vor keycode gibt für the keycode
falsche Werte zurück. |
|
Das Einstellen des locZ -Wert eines Sprites führt dazu, dass das Sprite neu gezeichnet wird. |
|
Auf dem Macintosh führt die
Verwendung von setPixel() oder getPixel()
für 2-Bit- oder 32-Bit-Grafiken dazu, dass Director blockiert. |
|
Bei der Anwendungserstellung und in Projektoren wird nach dem Vorausladen eines Films in einem anderen Film die Prozedur on startMovie des vorausgeladenen Film zweimal ausgeführt. |
Multiuser
|
Skripte, die mit createScript()
an einem anderen Ort als dem Dispatcher erstellt wurden, müssen
explizit benannt werden, damit sie debuggt werden können. Der
Name sollte der Dateiname minus der Erweiterung sein. |
|
UDP-Nachrichten in einer Größe über 12 KB, die zwischen Client und Server auf der gleichen Maschine gesendet werden, werden nicht empfangen (nur unter Windows). Der Client sendet die Daten fehlerfrei, aber der Server erhält sie nicht. Die Nachricht geht bei der internen Windows-Verarbeitung des UDP-Pakets verloren. |
|
Beim Einstellen von sleepPeriod eines Threads mit Lingo kann der tatsächliche Wert von sleepPeriod den in Lingo übergebenen Wert beträchtlich übersteigen. Um dies zu vermeiden, rufen Sie ausdrücklich thread .sleep auf, statt sleepPeriod zu benutzen. |
Veröffentlichen
|
Wenn ein 3D-Darsteller vorhanden ist, wird das Pulldownmenü "Skalierung" im Dialogfeld "Veröffentlichungseinstellungen" deaktiviert. Um dies zu verhindern, ändern Sie das HTML-Format von "3D-Inhalt laden" in ein beliebiges anderes Format. Der Film zum Laden von 3D-Inhalten sollte nach Möglichkeit nicht auf "Skalierung" eingestellt werden, da dies auf dem Macintosh zu Problemen beim Neuzeichnen führen kann. |
|
Wenn die Veröffentlichungseinstellungen auf "Ausfüllendes Skalieren" eingestellt sind, wird bewirkt, dass streamende QuickTime-Filme beim Start und beim Verschieben oder Vergrößern/Verkleinern des Browsers entladen und neugeladen werden und ohne Sound abgespielt werden. |
|
Shockwave-Filme mit 3D-Inhalt sollten eine RGB-Bühnenfarbe verwenden, keine Palettenindexfarbe. |
|
Wenn Sie einen der Loader-Filme im Ordner mit den Veröffentlichungsvorlagen im Director-Anwendungsordner verwenden, wird Ihr Director-Film nicht gestreamt, selbst wenn im Dialogfeld "Modifizieren" >"Film">"Abspielen" ausdrücklich Streaming angegeben wurde. Dies ist die beabsichtigte Funktionalität der Loader-Filme. |
QuickDraw-Formen
|
Nicht gefüllte QuickDraw-Form-Sprites erscheinen auf der Bühne leer, wenn Sie sie erst erstellen, nachdem Sie Text-Sprites erstellt haben. |
QuickTime
|
QuickTime wird nicht in einem Film mit einem Shockwave 3D-Darsteller abgespielt, wenn Sie den DirectX 7.0-Renderer verwenden. Dies liegt an einem Konflikt zwischen DirectX und QuickTime. Wir arbeiten mit Apple und Microsoft an einer Lösung für dieses Problem. |
RealMedia
|
Auf Macintosh-Rechnern, die die Mindestsystemvoraussetzungen für die Wiedergabe erfüllen, werden RealMedia-Inhalte nicht immer abgespielt. |
|
Die Lingo-Funktion realPlayerVersion() ruft die Build-Nummer der im System installierten RealPlayer-Software ab. Die RealPlayer-Versionsnummer wird allerdings nicht abgerufen. |
|
Wenn zu einem bestimmten Zeitpunkt mehr als ein RealMedia-Sprite abgespielt wird, wird durch Stummschalten eines Sprites der Ton aller anderen Sprites ebenfalls deaktiviert. |
|
Wenn Sie mit Internet Explorer unter Windows arbeiten, kann es beim Öffnen von zwei oder mehr Browserfenstern, die Shockwave-Filme mit RealMedia enthalten, dazu kommen, dass die Filme nicht richtig abgespielt werden. |
|
Bei RealMedia-Sounds, die in einem Director-Soundkanal abgespielt werden, sind sound().elapsedTime und member().currentTime nicht synchron. Die Eigenschaft currentTime ist in diesem Fall präziser. |
|
Der Ton eines RealMedia-Darstellers wird in einem MIAW ausgeschaltet, wenn Sie in der Authoring-Umgebung auf "Stop" klicken. |
Shockwave
|
Wenn die SmartDownload-Funktion von Netscape aktiviert ist, schlägt die Installation von Shockwave auf bestimmten Windows-Systemen unter Umständen fehl. Durch Deaktivieren dieser Funktion in den Browservoreinstellungen wird dieses Problem gelöst. |
Text
|
Die Funktionen zum horizontalen und vertikalen Kippen funktionieren bei Text nicht richtig, wenn sich der Eigenschafteninspektor im Listenmodus befindet. |
Vektorformen
|
Vektorformen in verknüpften
Director-Filmen reagieren nicht auf Änderungen der Vektorliste,
die mithilfe des Befehls tell im Hauptfilm vorgenommen
wurden. Eine Lösungsmöglichkeit besteht darin, mithilfe
des Befehls tell eine globale Variable im verknüpften
Film einzustellen und diese Globale dann bestimmen zu lassen, wann
vertexList geändert werden soll. |
|
| Macromedia |
| | 04/02/01 |
| | Dokumentation, Korrekturen, Änderungen, Lingo, 3D, Versionshinweise |
|
|