tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
1304
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    selle1 selle1 ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Ort
    Frankfurt am Main
    Beiträge
    418
    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.
     

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

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

    Mit
    Code :
    1
    2
    3
    
    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 :
    1
    
    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ß
    .
     

  3. #3
    selle1 selle1 ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Ort
    Frankfurt am Main
    Beiträge
    418
    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
     

  4. #4
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    ... 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ß
    .
     

  5. #5
    selle1 selle1 ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Ort
    Frankfurt am Main
    Beiträge
    418
    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.
    Geändert von selle1 (03.11.07 um 14:43 Uhr)
     

  6. #6
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    ich nehme an, die auslösende Schaltfläche ist der Button "logo" - dort ist folgender Code notiert:
    Code :
    1
    2
    3
    4
    
    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 :
      1
      
      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ß
    .
     

  7. #7
    selle1 selle1 ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Ort
    Frankfurt am Main
    Beiträge
    418
    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.
     

  8. #8
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    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ß
    .
     

  9. #9
    selle1 selle1 ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Ort
    Frankfurt am Main
    Beiträge
    418
    Ok,

    anbei der Link: http://www.so-consulting.eu/flas.zip

    Danke im voraus
    P.S.: Wunder Dich nicht darüber, dass die swf von start.fla spielmannsofficehouse_start.swf heisst (mache ich wegen den Suchmaschinen).
    Geändert von selle1 (15.04.07 um 15:20 Uhr)
     

  10. #10
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    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 :
    1
    
    _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 :
    1
    2
    3
    
    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ß
    .
     

  11. #11
    selle1 selle1 ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Ort
    Frankfurt am Main
    Beiträge
    418
    Einiges gelernt,

    nun habe ich aber noch immer das Problem, dass ich nicht weiter bin denn:

    Wenn nun die gestaltung.swf geladen wird will ich ja, dass der User auf die "Home-Seite" sprich spielmannsofficehouse_start.swf springen kann. Den Frame "anfang" will ich anzeigen, da ich nicht möchte, dass der User sich nicht jedesmal das "Intro" antun muss. Deswegen der Frame "anfang". Ich könnte es mir auch leicht machen und einfach auf das Logo die "Home-Seite" legen. Dies wäre aber etwas einfallslos. Ich hoffe Du verstehst was ich meine.

    Nun was tun und nicht verzweifeln?
     

Ähnliche Themen

  1. Verweis auf einen anderen Frame
    Von sunflower987 im Forum HTML & XHTML
    Antworten: 8
    Letzter Beitrag: 27.10.06, 10:12
  2. Antworten: 0
    Letzter Beitrag: 12.12.04, 20:38
  3. Von einem Frame auf einen anderen zugreifen
    Von JanRei im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 19.11.04, 13:12
  4. In einen Frame auf einer anderen Seite linken
    Von Eistee im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 16.07.04, 15:05
  5. [JS] Wie kann ich ein Formular in einem anderen Frame ansprechen?
    Von Andreas Gaisbauer im Forum Webmaster FAQ
    Antworten: 0
    Letzter Beitrag: 05.08.03, 15:31