Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03130.jsonl.gz/921

Das Problem in Director ist, daß Digitalvideo-Darsteller immer mit der externen Datei verknüpft und nicht eingebettet werden.
Das Handbuch formuliert das so:
"Wenn Sie ein QuickTime- oder AVI-Digitalvideo importieren, bleiben die Darsteller, die sie erstellen, stets mit der externen Originaldatei verknüpft, auch wenn Sie die Option "Standardimport" wählen. Beim Verteilen eines Films müssen Sie daher stets alle Digitalvideo-Dateien mit in das DIstributionspaket aufnehmen."
Dabei kann ich nur empfehlen, das AVI in den gleichen Ordner, wie den Projektor zu tun, da Director es sonst womöglich nicht findet. Wenn Du deinen Film nämlich auf CD brennst und den AVI-Film in einen anderen Ordner tust, sucht Director nach Festplatte:Ordner:Ordner:File. Da er den spezifischen Namen der Festplatte nicht findet, fragt er nach.
Meine Lösung war es bisher immer, ein Disk-Image auf der Festplatte anzulegen, den Director-Projektor von dort zu erstellen und dann davon die CD zu brennen. Natürlich läßt sich dann der Projektor nur fehlerfrei von der CD abspielen. Wie es mit den AVI-Filmen auf erster Ebene mit dem Projektor ist, weiß ich nicht. Müsste ich nochmal ausprobieren.
Ansonsten kann man den AVI/QT-Film mit folgendem Skript laden:
property freeSlot
on beginSprite me
myNmb = the spriteNum of me
freeSlot = findEmpty(member myNmb)
importFileInto member freeSlot, the moviePath & "ordner:beispiel.avi"
sprite(the spriteNum of me).member = freeSlot
sprite(the spriteNum of me).locH = 100
sprite(the spriteNum of me).locV = 100
end beginSprite
on endSprite me
erase member freeSlot
end endSprite
Das setzt man so ein: Du plazierst Dein AVI-File auf der Bühne und merkst Dir die x- und die y-Koordinate. Dann legst Du ein Rechteck an der gleichen Stelle und in der gleichen Größe an, wie das AVI.
Dem weist Du das obige Skript als Verhalten zu. Das AVI kannst Du sowohl aus der castLib wie aus dem Drehbuch löschen.
Die Koordinaten, die du Dir gmerkt hast, setzt Du in folgende Skriptzeilen statt der 100 ein
sprite(the spriteNum of me).locH = 100 >>x
sprite(the spriteNum of me).locV = 100 >>y
Irgendwie werden bei Digitalvideos offensichtlich die Koordinaten anders angegeben. Das muß man also ausgleichen. Frag mich nicht warum das so ist, ich habe das auf die Schnelle nicht rausgefunden.
importFileInto member freeSlot, the moviePath & "ordner:beispiel.avi"
In diese Zeile kannst Du eintragen, wo der Film liegen soll. Auf dem Mac wählst Du : (Doppelpunkt) für Verzeichnisse im Pfad, auf dem PC \ (Backslash).
Wenn der Projektor also im Ordner sowieso liegt und in diesem Ordner der Ordner "movies" und darin der Ordner "avis" und darin die Datei, lautet der Pfad (Mac): "movies:avis:beispiel.avi".
Das Skript importiert jedesmal das AVI neu, tauscht es gegen den Platzhalter aus und löscht es wieder, wenn der Sprite "von der Bühne abtritt".
So. Das ganze ist zwar äußerst umständlich, aber es funktioniert. Habs getestet. Wenn ich eine einfachere Lösung finde melde ich mich, wenn einer eine hat, sollers posten.
Na. Das ist jetzt ja ein ganzer Roman geworden, aber da die Frage öfter kommt, wollte ich sie jetzt mal ausführlich beantworten.
grüsse
Christof
als Antwort auf: [#39902]