Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash CS4 Professional

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-08-2010, 21:10   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2009
Beiträge: 7
Zugriff auf Objekte in durch Quellcode erzeugten MovieClips

Hallo zusammen

da ich nicht wirklich weiss, wie ich mein Problem betiteln soll, fällt es mir schwer nach einem zu suchen. Ich hab keine Ahnung nach was ich da suchen sollte. Entschuldigt mich also wenn es bereits ein solches Thema gibt. Ich bin auch mit einem Link herzlichst zufrieden.

Ausgangssituation:

Ich nutze ein Akkordeon-SlideMenü, ich glaube von der Seite flashmo, falls das von Interess sein sollte. Dieses Akkordeon steckt in einem MovieClip (mcA) auf der Hauptzeitleiste. Die Einzelseiten zu diesem Menü generiert der Quellcode zu dem Menü aus einem weiteren MovieClip (mcB), welches ebenfalls in dem genannten MovieClip mcA steckt. Eine Verschachtelung.

Der Quellcode greift nun auf den MovieClip zu und zieht sich für jedes Frame/Bild ein Seite raus und generiert diese automatisch. Siehe Quellcode:


Code:
var page_group:MovieClip = new MovieClip();

this.addChild(page_group);
page_group.mask = flashmo_accordion_mask;

for( i = 0; i < total_page; i++ )
{
 var page:MovieClip = new accordion_a_page();
 page.name = "flashmo_" + i;
 page.x = i * 50;
 page.gotoAndStop( i + 1 );

 page_group.addChild(page);
}
Zu meinem Problem:
In mcB liegen fast alle Buttons für des Projekts.

Bisher nahm ich an, dass ich diese Buttons verschachtelt (mcA.mcB.button) ansprechen muss. Aber das tut nicht. Meine Vermutung ist, dass das nicht geht, weil die per Quellcode in das Akkordeon eingefügt werden.

Mein nächster Gedanke war: Da der Quelltext die Seiten mit Namen erstellt, habe ich versucht die Buttons mit dem entsprechend erzeugten Namen anzusprechen.
Bsp.: mcA.flashmo_0.button anzusprechen.

Aber das will auch nicht funktionieren. Ich weiss aber auch nicht ob der parameter MovieClip.name einen Instanzname zuweist. Oder ob das eine andere Art von Namen ist.

Bis auf diese Meldung bringt mir Flash auch kein Fehler im Script.

Zitat:
TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
at Soundmap_menu_v1_fla::MainTimeline/frame2()
Ich hoffe Ihr könnt mir helfen.
Wenn Ihr mögt hänge ich auch das Projekt an, bzw lade es hoch. Ist halt mittlerweile ein paar MB groß.
loisl_com ist offline   Mit Zitat antworten
Alt 02-08-2010, 21:24   #2 (permalink)
Neuer User
 
Registriert seit: Oct 2009
Ort: Bremen
Beiträge: 147
Also habe ich das richtig verstanden, dass du auf MovieClips oder Objekte welche in einer Unterseite, also einer Seite die in der for-Schleife initialisiert wird (new accordion_a_page()), zugreifen möchtest?

So wäre das schon genau so:

ActionScript:
  1. page_group.getChildByName("flashmo_0").deinObjektName;

Hänge doch aber bitte nochmal dein Projekt an, dass man da einen Blick drauf werfen kann.
DerTobi ist offline   Mit Zitat antworten
Alt 02-08-2010, 22:04   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2009
Beiträge: 7
Hallo DerTobi,

vielen Dank für Deine rasche Antwort. Dein Vorschlag funktioniert leider nicht. Ich habe anhand Deines Gedankenganges weiter getüfftelt.

Meine Versuche gingen von

mcA.page_group.getChildByName("flashmo_0").deinObj ektName; über

mcA.mcB.page_group.getChildByName("flashmo_0").dei nObjektName;

aber nichts davon funktioniert.

Hier kann man das Projekt sehen: http://www.loisl.com/hfg/Interaktion...menu_v1.44.swf
Die Buttons die ich versuche anzusprechen, liegen in diesen Akkordeons drinnen.

Geändert von loisl_com (02-08-2010 um 22:05 Uhr)
loisl_com ist offline   Mit Zitat antworten
Alt 02-08-2010, 22:10   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2009
Ort: Bremen
Beiträge: 147
Ich hoffe du hast deinObjektName durch den button-Namen ersetzt?

Also zur Struktur:

mcA enthält das accordion. Das enthält die Seiten und eine einzelne Seite enthält die Buttons?

also:
ActionScript:
  1. mcA.accordionName.seitenName.buttonName;
DerTobi ist offline   Mit Zitat antworten
Alt 02-08-2010, 22:27   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2009
Beiträge: 7
Ja, sicher. Hab ich.

Zitat:
mcA enthält das accordion. Das enthält die Seiten und eine einzelne Seite enthält die Buttons?
Goldrichtig.

Hauptzeitleiste > MovieClipA > MovieClipB > Seiten

In MovieClipA steckt der Quelltext und in MovieClip die Seiten.
Der Quelltext zieht aus dem MovieClipB den Inhalt für seine generierten Seiten.
loisl_com ist offline   Mit Zitat antworten
Alt 02-08-2010, 22:34   #6 (permalink)
Neuer User
 
Registriert seit: Oct 2009
Ort: Bremen
Beiträge: 147
Also wäre das
ActionScript:
  1. //Deine Seite:
  2. mcA.mcB.getChildByName("seitenname");
  3. //und nun kannst du eigentlich ganz normal auf deine Children referenzieren.
  4. MovieClip(mcA.mcB.getChildByName("seitenname")).getChildByName("buttonName") ...
DerTobi ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kollisionserkennung zwischen dynamisch erzeugten MovieClips macht Probleme aioros Flash Einsteiger 10 23-04-2009 22:15
Namen von dynamisch erzeugten MovieClips fehlerhaft fU@mE ActionScript 3 16 15-01-2009 02:00
Reflection - Zugriff auf einzel Objekte + Display Objekte vince1969 Flash CS3 Professional 5 03-04-2008 21:39
Problem mit dynamisch erzeugten Movieclips effzehn Flash MX 2004 2 01-02-2007 10:13
Farben von dynamisch erzeugten MovieClips ändern easterbunny ActionScript 1 2 20-03-2006 11:44


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele