Von externer swf-Datei zurück in Movieclip navigieren

darien

Mitglied
Hallo,

ich habe folgendes Problem, wofür ich trotz intensivem Suchen und Lesen noch keine Lösung gefunden habe. Hoffe, hier einen zündenden Tipp zu erhalten.

In mc_vids (von wo aus in drei verschiedene externe Videos (swf) navigiert werden soll) positioniere ich einen leeren Movie mc_emptyMovie. Per AS lade ich über eine on-Prozedur meines Buttons (view) die externen swf-Dateien mit loadMovie() in den leeren Movieclip mc_emptyMovie in mc_vids. Soweit funktioniert auch alles. Das Video wird nach drücken des Buttons geladen und auch abgespielt.

Nun positioniere ich in den externen swfs einen "Back"-Button, mit dem ich wieder zur Navigation in mc_vids zurück gelangen und die externe swf entladen will.Ersteres bekomme ich jedoch einfach nicht hin.

Der genaue Pfad zur externen Datei ist (bzw. müsste sein :( ):
_root.mc_lessons.mc_vids.mc_emptyMovie

Den Movies des Ursprungsfilms habe ich über die Bibliothek in den Verknüpfungseigenschaften einen Bezeichner zugewiesen und "Export für AS " aktiviert. Richtig?

Folgenden Code hatte ich auf dem "Back"-Button in den externen swfs, um die Navigation wieder anzuzeigen:
Code:
on (release) {
	gotoAndPlay("_root.mc_lessons.mc_vids", 1);
	this.unloadMovie();
}

_lockroot habe ich bei den externen swfs nicht auf true gesetzt, da ich ja gerade will, dass _root in meinem Ursprungsmovie angesprochen wird und nicht _root in der swf-Datei. Richtig?

Hoffe, ich konnte mein Problem einigermaßen verständlich schildern.

Zum besseren Verständnis hier der Link zum Projekt:
http://www.webmedias.de/sebl/index.htm > Menüpunkt "Guitar Lessons" klicken

Vielen Dank für Eure Hilfe,

Darien

P.S.: Ich weiß, die Soundsteuerung ist auch noch nicht der Bringer. Baustelle nach Baustelle gilt es anzugehen. Ist eben mein erstes Projekt, welches ich komplett in Flash zu realisieren versuche und mit AS stehe ich (noch) auf Kriegsfuss. Bitte seht es mir nach.
 
Hi,

gotoAndPlay("_root.mc_lessons.mc_vids", 1); die gotoAndPlay-Methode erwartet eine Objektverknüpfung, keinen String. Probiers so:
Code:
_root.mc_lessons.mc_vids.gotoAndPlay(1);
Wenn ich Dich recht verstanden habe, willst Du den MC "mc_lessons.mc_vids" sowie entfernen und auf der Hauptzeitleiste zu Frame 1 navigieren? Dann müsste es so lauten:
Code:
_root.gotoAndPlay(1);
_root.mc_lessons.mc_vids.removeMovieClip();


this.unloadMovie();Wenn es sich bei dem Objekt, auf dem der Code notiert ist, um einen MovieClip handelt, entfernst Du damit nur den Button selbst (handelt es sich um eine Schaltfläche, ist der Code korrekt).

Gruß
.
 
Hi Tobias,

zunächst einmal Danke für Deine Antwort.

Du hast nicht ganz richtig verstanden, was ich gemeint habe.
Also: Auf der Hauptleiste meine Films liegt die menuszene. dort liegt wiederum der Movie mc_lessons.
Ich will nicht mc_lessons, mc_vids und mc_emptyMovie (in letzteren wird die externe swf Datei reingeladen), die ja genau in der angeg. Riehenfolge ineinander verschachtelt sind, entladen, sondern die extern geladene swf datei (Video), um dann per Back-Button (der in der externen swf Datei beinhaltet ist) wieder in die menuszene > mc-lessons>mc_vids zurückkehren (konkret will ich von der externen swf per Button in Frame 1 des mc_vids navigieren), wo die Navigation zu den drei verschiedenen Videos liegt. Enladen will ich immer nur die extern geladenen swfs.

Besser verständlich jetzt?

Das mit der Objektverknüpfung, wie Du´s erklärt hast probiere ich jetzt mal.

Danke im Voraus,
Darien
 
Hi,

Objektstrukturen sind immer so eine Sache: Wirklich anschaulich wird die Sache (die bei Pfadproblemen essentiell ist) einem Aussenstehenden erst dann, wenn die entsprechenden Dateien vorliegen. Damit lassen sich auch Inkonsistenzen (Objekte müssen von Schaltflächenobjekten aus z.B. anders adressiert werden als von MoviClip-Objekten aus) auf einen Blick ersehen und berücksichtigen.

Wenn Du also Deine Dateien (fla) als Anhang postest, kann ich Dir wahrscheinlich schneller und zutreffender helfen. ;)

Gruß
.
 
Hallo Tobias,

gerne stelle ich die .fla Dateien hoch. Allerdings habe ich den mainmovie.fla nicht unter die 2,7 MB gebracht, da doch recht viele Pixelgrafiken verwendet werden, weswegen ich einen externe Downloadlink anbiete. Das ist hoffentlich ok.

Link:
http://www.webmedias.de/sebl/fla/

Bei der externen Datei (2.fla bzw. dann 2.swf) habe ich das Video halt aus der Biblio rausgeschmissen, da es 33 MB hatte im .fla Format (später im .swf dann 9MB). Der "Back"-Button ist aber da.

Hoffe, meine Bibliotheksverwaltung schockt Dich nicht all zu sehr :) .

Danke für Deine/Eure Hilfe,

Darien
 
Hi,

wenn ich das richtig sehe, müsste der Code auf der Schaltfläche "back_btn" folgendermaßen lauten:
Code:
on (release) {
	_parent.gotoAndPlay(1);
	this.unloadMovie();
}
_parent zeigt von der Hauptzeitleiste der 2.swf in diesem Fall auf "mc_lessons.mc_vids" im Hauptfilm.

Tipp: Verwende statt eines absoluten Pfades beim Einladen der externen Datei ("http://www.webmedias.de/sebl/swf/2.swf") einen relativen ("2.swf") - dann bekommst Du keine Probleme, wenn Du auf einen anderen Server umziehst und stellst sicher, dass Benutzer, die die SWF des Hauptfilms bei sich lokal ausführen, die 2.swf nicht nachladen können.

Gruß
.
 
Hi Tobias,

so einfach kann es sein, Menschen zu helfen :-D.

Vielen Dank, es funktioniert.

Wäre es sehr vermessen, Dich zu bitten, Dir sie Soundsteuerung (mc_soundsteuerung) anzuschauen.
Auf der Hauptzeitleiste (menuszene) liegt ja die Soundsteuerung auf einer separaten Ebene, die ich über alle Frames des Films aufgezogen habe.
So lange ich im Menü von links nach rechts klicke funktioniert alles (wenn zwischendurch der SOund mal gemutet wurde). Aber wehe ich klicke dann wieder einen Button nach links. Der Bildzustand bleibt dann zwar auf "off", der Sound fängt aber an zu dudeln. Ganz weird wird es, wenn man zuvor Titel B angeklickt hat und geht dann einen Menüpunkt nachrechts. Dann spielen nämlich beide Sounds los. Warum der Movie das macht ist mir rätselhaft.

Mir ist klar, dass dies mit AS objektorientiert programmiert werden muss. Z.B. benutze ich ja in mc_soundsteuerung stopAllSounds(). Tja, wenn das Video grad läuft, wird dessen Sound eben auch ausgeschaltet. Ist eigentlich nicht so schick :confused: .

Ich lerne es noch. Irgendwann.

Danke nochmals,
Darien
 
Zurück