Mit Button einen bestimmtem Frame im anderen MC ansprechen

selle1

Erfahrenes Mitglied
Hallo Kollegen der Nacht,

ich möchte einfach nur einen bestimmten Frame (Bezeichnung: "anfang")in einem anderen Mc ansprechen. Die MCs werden immer in einen leeren Container geladen, aber eigentlich müsste das doch egal sein, da der zu ansprechende MC mit dem Frame "anfang" bereits auf der Startseite meiner Seite Website automatisch mit geladen wird.
Der Button hat den Instanznamen "gestaltung" und mit dem will ich den bestimmten Frame ansprechen. Habe es mit _root, this._parent,... schon versucht. Es passiert einfach nichts.

Code auf dem Button:
on (release) {
this._parent.gotoAndPlay("anfang");
}
Habe auch schon mit _root versucht.

Bitte um Ideen.
 
Hi,

willst Du etwas in einem bestimmten Frame ansprechen, oder soll ein Objekt einen bestimmten Frame ansteuern?

Mit
Code:
on (release) {
    this._parent.gotoAndPlay("anfang");
}
Wird die übergeordnete Zeitleiste des MC angesprochen - willst Du Dich auf einen anderen MC beziehen, so musst Du ihn über seinen Bezeichner ansprechen:
Code:
this._parent.NameDesMovieClip.gotoAndPlay("anfang");

Objekte oder Code in Frames anzusprechen, die nicht im Moment angezeigt werden, ist generell nicht möglich; sie existieren in dem Moment nicht (Du musst es Dir so vorstellen, dass auf der Zeitleiste weiter hinten liegende Frames in der Zukunft und weiter vorne liegende in der Vergangenheit liegen - auf beides hast Du auch in der Realität keinen direkten Zugriff ;)).

Gruß
.
 
Danke für die Antwort.
Bsp. 2 trifft bei mir zu, d.h. ich will einen anderen MC ansprechen. Habe Deinen Code kopiert es passiert aber nichts. Woran kann das liegen:confused:
 
... weil a) mein Code nicht zum Kopieren gedacht ist: Ich nehme kaum an, der andere MC hat bei Dir den Instanznamen "NameDesMovieClip", oder? ;) Welchen Instanzbezeichner hast Du dem anzusprechenden MC gegeben?

... und weil b) nicht klar ist, wie viele Ebenen Du nach oben musst (vielleicht brauchst Du mehr als ein "_parent", vielleicht keins, wenn es sich bei dem auslösenden Objekt nicht um einen MC, sondern um eine Schaltfläche handelt).

Ohne Einblick in Deine Quelldatei kann ich nur raten

Gruß
.
 
Ok,
klar habe ich den Namen des MC angepast. Nochmal vielleicht zur Erklärung.
Die MCs liegen doch bei einem leeren Container immer auf die gleiche Ebene geladen, oder?
Anbei die Datei.
 
Zuletzt bearbeitet:
Hi,

ich nehme an, die auslösende Schaltfläche ist der Button "logo" - dort ist folgender Code notiert:
Code:
on (release) {
	//als 'beispielevent'
	this._parent.spielmannsofficehouse_start.swf.gotoAndPlay("anfang");
}
  • Es handelt sich dabei im eine Schaltfläche, als verweist "this" nicht auf das Objekt, sondern auf die übergeordnete Zeitleiste (in diesem Fall _root). Das
Code:
this._parent
musst Du also weglassen (würde es sich um einen MovieClip handeln, wäre es anders).


  • Ich finde auf der Hauptzeitleiste keinen MC mit dem Instanznamen "spielmannsofficehouse_start" (und demzufolge auch keinen dort enthaltenen MC mit dem Instanznamen "swf"). Genauer gesagt finde ich auf der Hauptzeitleiste (abgesehen von dem Ladebalken) überhaupt kein Objekt, das irgendeinen Instanznamen trägt.

  • Es gibt auch keinen MC namens "gestaltung". Welcher MC soll nun also durch Deine Aktion angesprochen werden, und wo finde ich ihn?

  • Ich kann es nicht oft genug sagen: Bitte gewöhnt Euch an, Eure Objekte sinnvoll zu benennen! Für einen aussenstehenden sind Bezeichner wie "Symbol 5" bestenfalls verwirrend.

Die MCs liegen doch bei einem leeren Container immer auf die gleiche Ebene geladen, oder?
Mir ist nicht klar, was Du damit meinst: MCs liegen immer in den Containern, in die Du sie lädst ...

Gruß
.
 
Danke,
dass Du Dir die Mühe machst.
Ich habe einen "HauptMC" der einen leeren Container enthält, in den eine start.swf geladen wird. Alle nachfolgenden MCs werden jeweils in diesen leeren Container namens "empty" geladen Die Hauptbuttons liegen im MC "start.swf". Wird nun die "gestaltung.swf" in "empty" geladen, habe ich den Button (wie Du richtig vermutest das Logo). Jetzt soll on(release) auf Logo die Sequenz "anfang" im "start.swf" aufgerufen werden. Ist das möglich?
Wenn Du es nicht nachvollziehen kannst kann ich die "Start.swf" auf meinen Webspace laden, da die Datei zu gross ist.
Nochmals danke für Deine Mühe.
 
Hi,

so wie Du es beschreibst, ist nicht klar, ob es sich bei "start.swf" nun um den Hauptfilm (und dort die Hauptzeitleiste) handelt, oder um einen Hauptcontainer, der sich dort befindet (und welchen Instanznamen dieser Container trägt) - und was "HauptMC" ist, wie er benannt ist, und wo er sich befindet.

Um Dir konkret helfen zu können, bräuchte ich alle beteiligten Flashdateien, und zwar die .fla, nicht die .swf.

Gruß
.
 
Hi,

Du unterliegt in sofern einem Irrtum, als dass Du annimmst, nach dem Einladen einer externen SWF in einen Container trüge dieser Container den Dateinamen der externen SWF als Instanznamen. Das ist falsch. Nachdem Du hier:
Code:
_root.empty.loadMovie("spielmannsofficehouse_start.swf");
die externe SWF einlädst, werden die Inhalte des MC "empty" zwar überschrieben, aber der MC behält dennoch seinen Instanznamen. Er beinhaltet nach dem Laden lediglich alle Daten der externen SWF.

Willst Du also mit Deinem Button erreichen, dass die eingeladene SWF zu einem bestimmten Frame springt, so wäre die korrekte Anweisung auf der Schaltfläche folgende:
Code:
on (release) {
	_root.empty.gotoAndStop("anfang");
}
, da es sich bei "empty" um die spielmannsofficehouse_start.swf handelt, und sich dieser MC auf der Hauptzeitleiste (_root) befindet.

Im vorliegenden Fall hat das dennoch keine Auswirkungen, da die eingeladene Datei automatisch abgespielt wird und dann genau auf diesem Frame stoppt: Sie befindet sich also zum Zeitpunkt des Klicks schon an dem Frame, an den Du sie zu springen beauftragen willst.

Gruß
.
 

Neue Beiträge

Zurück