Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-09-2006, 12:02   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 116
duplicatMC - darin enthaltener Button ansprechen

Hi Leute,

ich habe mich jetzt etliche Stunden daran versucht, aber bekomme es einfach nicht hin. Die Forumsuche habe ich schon bemüht, aber ich habs nicht hinbekommen. Flash MC / AS1.0

Folgendes soll geschehen:

Ich klicke auf den Button mit dem Instanznamen button_liste und er soll mir den MC mit dem Instanznamen mc_rechteck 10 mal kopieren und den kopierten MCs eine fortlaufende Nummer geben. Der mc_rechteck beinhaltet einen Button mit dem Instanznamen btn_listNr.
Auf den kopierten verschachtelten Buttons soll immer die gleiche Funktion ausgeführt werden, jedoch mit einem anderen übergebenen Parameter-Wert:

So weit bin ich mal gekommen :
Das Script liegt auf dem btn_liste (_root)
PHP-Code:
on(release){

//Variable KnotenNr ist in einem 1. Schlüsselbild definiert - Zeiger auf XML-Knoten
KnotenNr0;

var 
amount 10;
var 
k=0;
while(
amount>0) {
duplicateMovieClip (_root.mc_rechteck"mc"+kk);
    eval(
"mc"+k)._y +=16.5;
             
k++;
    
amount--;
    
//versetze Kopie um 16.5px vom Vorgänger nach unten
            
_root.mc_rechteck._y += 16.5;
    
//Springe zum nächsten XML-Knoten
             
KnotenNr++;

auf dem Originalbutton, der sich im mc_rechteck befindet, habe ich das Script zum laden des nächsten XML-Knotens. Dieses Script wird ja immer mitkopiert oder?

PHP-Code:
on(release){
ladeKnoten(KnotenNr);

Jetzt sollte bei der 1. erzeugten Kopie des mc_rechteck also
mc0 die Funktion ladeKnoten(0); ausgeführt werden.
Bei der 2. erzeugten Kopie also mc1 soll die Funktion ladeKnoten(1); ausgeführt werden usw.

Irgendwie muss ich der Kopie den KnotenNr-Wert anhängen, weiß aber nicht wie, denn er führt immer ladeKnoten(9); aus, also das letzte Element.
Ausserdem weiß ich auch nicht, wie ich die kopierten Buttons ansprechen kann und wie diese nummeriert werden, wenn ich nichts angebe?

Wäre für eure Hilfe echt dankbar.

Schöne Grüße
trancelight

Geändert von trancelight (04-09-2006 um 12:07 Uhr)
trancelight ist offline   Mit Zitat antworten
Alt 04-09-2006, 12:23   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
PHP-Code:
on (release) {
    var 
0;
    while (
k<9) {
        var 
mc _root.duplicateMovieClip("mc_rechteck""mc"+kk);
        
mc._y += 16.5;
        
mc.knoten k;
        
k++;
        
_root.mc_rechteck._y += 16.5;
    }
}
// Und dann halt:
on(release){ 
ladeKnoten(this._parent.knoten);

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 04-09-2006, 12:28   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 116
Hi Der Frager,

Ich werde es nach dem Essen gleich ausprobieren. Vielen Dank schon mal für die schnelle Antwort. Melde mich wieder, obs geklappt hat.

Merci!!
trancelight ist offline   Mit Zitat antworten
Alt 04-09-2006, 14:39   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 116
So, ich habs jetzt ausprobiert, jedoch dupliziert er jetzt den mc_rechteck nicht mehr. Wo liegt der Fehler? Ich hab mal trace(mc) in der Schleife eingefügt und er gibt mir undifined aus.
Könntet ihr bitte mal die Beispiel fla anschauen?
Wäre echt nett!
Ich hab die XML für diesen Test weggelassen, damit es übersichtlicher bleibt.

Und noch ne Verständnisfrage, damit ich das mit dem duplicateMoviclip besser verstehe:
Wie könnte ich dann z.B. auf den 4. duplizierten Button zugreifen? (z.b. unsichtbar mit .enabled = false machen)

Schöne Grüße und DANKE
trancelight
Angehängte Dateien
Dateityp: zip test_mc_duplicate.zip (2,6 KB, 5x aufgerufen)
trancelight ist offline   Mit Zitat antworten
Alt 04-09-2006, 14:44   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Ja, der duplicate Befehl von mir war falsch:
PHP-Code:
on (release) { 
    var 
0
    while (
k<9) { 
        var 
mc _root.mc_rechteck.duplicateMovieClip("mc"+kk); 
        
mc._y += 16.5
        
mc.knoten k
        
k++; 
        
_root.mc_rechteck._y += 16.5
    } 

und dann noch
PHP-Code:
on(release){
    
trace(this.knoten)

weil's eine Schaltfläche ist.

Der 4. duplizierte mc heißt doch mc3? Also wo ist das Problem mit dem Zugriff?
PHP-Code:
this.mc3._vivible false 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 05-09-2006, 12:27   #6 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 116
Hallo der Frager,

vielen Dank für deine Antwort. Ich bin leider erst jetzt zum Testen gekommen.

Deine Lösung funktioniert jetzt einwandfrei!
Zitat:
Der 4. duplizierte mc heißt doch mc3? Also wo ist das Problem mit dem Zugriff?
PHP-Code:
this.mc3._vivible false 
richitg, wie ich auf den mc zugreifen kann, das weiß ich, aber wie kann ich auf den darin enthaltenen Button zugreifen, weil ich ja keinen Instanznamen beim Kopieren angegeben habe? also z.b.
PHP-Code:
_root.mc3.btn_3.enabled false
würde ja nicht gehen weil ich den Intanzname btn_3 beim duplicateMoviclip nicht mitgegeben habe, oder müßte ich das Problem über relative Pfadangaben lösen?

Merci!!!

schöne Grüße
trancelight
trancelight ist offline   Mit Zitat antworten
Alt 05-09-2006, 13:09   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
...Button heißt doch in jedem MC gleich (btn_listNr).

Also kannt du den auch z.B. über
PHP-Code:
mc3.btn_listNr.enabled false 
ansprechen. Gar kein Problem...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 05-09-2006, 17:49   #8 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 116
ah genial! Ich dachte immer, dass ein Instanzname immer eindeutig sein muss und Flash evtl. automatisch eine Nummerierung für die Buttons anlegt. Also in meinem Fall:

btn_listNr0
btn_listNr1
btn_listNr2

usw.

Habs jetzt verstanden! 1000 DANK!

"Der Antworter" würde besser zu dir passen

Vielen Dank für deine Hilfe und die aufgebrachte Zeit!

Schöne Grüße
trancelight
trancelight 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



Alle Zeitangaben in WEZ +1. Es ist jetzt 04:53 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele