Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-03-2005, 05:53   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 4
Unhappy Problem mit duplicateMovieClip / removeMovieClip

Liebes Forum,

ich habe hier alles durchgewühlt aber nichts passendes gefunden.
Folgendes Problem. Ich habe einen MC (mc_1) auf der Bühne. Diesen dupliziere ich mit duplicateMovieClip über eine function.
Die Duplikate werden zum mc_1 passend nebeinander angeordnet und dann über eine weitere function als Laufband bewegt.
_root.c steht für die Anzahl der Filme und ist zu Anfang 7 und soll sich für verschiedenen Inhalte dann ändern. Ich kann alle Filme ansprechen, einblenden (_visible etc) ausblenden usw.

if ((Number(y) == 1)) {
function build () {
var xpos = _root.xpos; // Breite der zu ladenden swfs
for (i=2; i<=_root.c; i++) { // Auch schon mit while versucht
duplicateMovieClip (_root.mc_1, "mc_" add i, i);
this["mc_"+i]._x = i*xpos-xpos;
trace ("Movie "+i+" erstellt");
}
for (s=1; s<=_root.c; s++) {
loadMovie ("box"+s+"/01.swf", ["mc_"+s]);
// hier werden die Inhalte in die MCs geladen
}
// Hier wird die function build aufgerufen
build();
play ();
// Wenn alles durch ist (alle Variabeln geladen) dann weiter bitte!
} else {
gotoAndPlay (2);
}

Jetzt versuche ich vergeblich diese function nachdem ich zuvor über eine weiter function alle MCs bis auf mc_1 wieder gelöscht habe

function killall () {
trace ("KILLALL");
for (kill=2; kill<=(_root.s-1); kill++) {
_root["mc_"+(kill)].removeMovieClip();
trace(kill+"gelöscht");
}
}

die "function build" nochmals, diesmal aber mit nur 5 duplizierten MCs ans Laufen zu kriegen. Und das geht nicht und ich finde den Fehler nicht.
mc_1 lässt sich nach wie vor danach über die function mit der ich die Filme bewege ansprechen und ich habe sogar genau die Abstände als ob es jetzt 5 Filme wären aber die Filme sind nicht vorhanden (Objecte auflisten, nur mc_1), werden also nicht neu geschrieben.
Ich habe auch schon versucht einen duplicateMovie von meinem mc_1 nachdem alle anderen gelöscht waren über einen Button zu machen und auch das geht nicht obwohl er als Instanz ansprechbar ist.

Hat irgendwer eine Idee, was ich da falsch mache?

Viele Grüße

nobby
nobby ist offline   Mit Zitat antworten
Alt 09-03-2005, 06:54   #2 (permalink)
beZEICHNER
 
Registriert seit: Feb 2005
Beiträge: 170
Leichter geht's wenn Du mal das FLA zur Verfügung stellst.....
eisenbart ist offline   Mit Zitat antworten
Alt 09-03-2005, 07:10   #3 (permalink)
beZEICHNER
 
Registriert seit: Feb 2005
Beiträge: 170
Warum steckt Deine function build() in der if-clause?
eisenbart ist offline   Mit Zitat antworten
Alt 10-03-2005, 01:16   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 4
Problem gelöst, trotzdem Danke

Zitat:
Zitat von eisenbart
Warum steckt Deine function build() in der if-clause?
Die if-abfrage habe ich als Sicherheit eingebaut, da erst eine txt komplett geladen sein soll bevor ich die MCs anlege. Ist lokal auf meinem Rechner nicht so wichtig, aber wenn die txt sehr groß wird und jemand später mit einem Modem die Seite betrachtet, ist es mir schon passiert, das die Variabeln die ich für meine function brauche nicht geladen waren. Deshalb frage ich da y ab die in der txt an letzter Stelle steht.

Ich kann die FLA nicht posten, da es sich um einen Kunden-Auftrag handelt.

Habe das Problem jetzt aber in den Griff bekommen.

Mein mc_1 liegt ja auf der Bühne und hat einen onClipEvent (enterFrame) {
this.move(); }// move ist eine Function die dem mc_1 und die Duplicate später bewegt. Dann dupliziere ich diesen mc_1 mit einer weiteren function und habe z.B. 6 weitere MCs (mc_2, mc_3 usw.) danach auf der Bühne. Natürlich setze ich dabei für jeden MC eine eigen Tiefe über 0. Diese Duplikate ordne ich als Reihe neben den mc_1 an. Dann lade ich SWFs in diese MCs (auch in mc_1 !!!) und wenn alles fertig und geladen ist wird die function move aktiv und alles bewegt sich gleichmäßig als Laufband(scroller). Wie schon gesagt wollte ich die duplizierten dann mit remove löschen um z.B. eine neue Reihe mit nur 4 Duplikaten von mc_1 zu erstellen. Zum einen hatte ich Probleme beim löschen, aber viel schlimmer, nach dem Löschen (also wieder nur noch mc_1 auf der Bühne) konnte ich keine Duplikate mehr von mc_1 erstellen.

Als ich jetzt noch mal neu aufgebaut habe, klappte alles absolut ohne Probleme solange ich keine SWFs in meine MCs geladen hatte. Ich habe dann mal versucht ob es funktioniert, wenn ich keine SWF in den Mutterfilm mc_1 lade, aber trotzdem in meine Duplikate SWFs lade und siehe da alles funktioniert. Ich habe irgendwo gelesen, das eine SWF die man in einen MC läd irgendetwas am MC ändert, ich weiß allerdings nicht was da genau passiert. Duplikate kann man ja z.B. auch nicht weiter duplizieren.
Ich konnte bei allen Schwierigkeiten den mc_1, auch mit geladener SWF, immer ansprechen (_x oder _y oder andere SWFs reinladen) aber eben nicht mehr duplizieren. Sollte jemand wissen warum das so ist bitte ich um Antwort.

Ich lasse den mc_1 jetzt leer auserhalb der Bühne und arbeite nur mit den Duplikaten, so das ich immer wieder neue Duplikate von m_1 anfertigen kann.
Problem gelöst.

Hat mich 3 Tage und 3 Nächte gekostet das herauszufinden. Na, ja, wäre mit MX natürlich einfacher gewesen, aber ich wollte es halt in 5 machen.

Unter dem Link hier war das Einzige, was meinem Problem ähnlich war, wobei die dort gepostete Lösung bei mir nicht funktioniert hat, da ich eh meine Tiefen schon genau festgelegt hatte.

http://flashmove.com/forum/archive/index.php/t-7170


Viele Grüße und Danke

Nobby
nobby ist offline   Mit Zitat antworten
Alt 10-03-2005, 01:45   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 4
doch ne FLA zum gucken

Hier eine reduzierte FLA mit dem Problem. Vielleicht hilft es ja auch anderen.
Auf Bild 1 liegt im script ein loadMovie für mc_1 der jetzt nicht aktiv ist.
Wenn der loadMovie für mc_1 ausgeführt wird, könnt Ihr ja mal probieren, kann ich mit den Buttons mc_2 zwar noch löschen aber nicht wieder herstellen.

test.swf ist die swf die in die MCs geladen wird, muss also im gleichen Ordner liegen.

Habe das Problem zwar gelöst, würde mich aber trotzdem interessieren, wo da der Grund liegt.

Viele Grüße

Nobby
Angehängte Dateien
Dateityp: zip zumgucken.zip (5,0 KB, 8x aufgerufen)
nobby ist offline   Mit Zitat antworten
Alt 10-03-2005, 11:32   #6 (permalink)
The Hobbyflasher
 
Benutzerbild von Bauchfetischist
 
Registriert seit: Feb 2005
Ort: nähe ingolstadt (Bayern)
Beiträge: 219
Frage?

könnte es vll daran liegen, das man nur

"attachte" MC removen kann?

d.h du kannst keinen movieClip removen, wenn er nicht aus der biblithek als instanz eines objectes ge"attachet" wurde
__________________
Dist du zu Schwach bin ich zu Stark
Behave or I ´ll get @ngry

mfg Bauchi :D
Bauchfetischist ist offline   Mit Zitat antworten
Alt 10-03-2005, 15:41   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 4
duplicateMovie kann auch removed werden

Zitat:
Zitat von Bauchfetischist
könnte es vll daran liegen, das man nur
"attachte" MC removen kann?
d.h du kannst keinen movieClip removen, wenn er nicht aus der biblithek als instanz eines objectes ge"attachet" wurde
Das war ja gar nicht das Problem, da zum einen auch ein duplizierter MC removed werden kann und ich den MC von denen ich meine Duplikate gemacht habe ja auch gar nicht löschen wollte, sondern eben nur die Duplikate und danach von meinem MC auf der Bühne neue Duplikate per duplicate machen wollte. Und das geht auch so lange man in den MC von dem man die Duplikate macht keine externe SWF reinläd, weil die irgendetwas verändert und man danach eben keine Duplikate mehr machen kann, obwohl der MC noch da ist und auch per Pfad ansprechbar ist. Keine Ahnung warum das so ist.

Heißt, wenn man in einen MC der auf der Bühne liegt etwas reinläd, lässt dieser sich danach nicht mehr mit duplicateMovie duplizieren. Sieht man ja in der FLA die ich oben angefügt habe. Wenn Du da Im Scriptauf Bild 1 das loadMovie auch für mc_1 aktivierst geht der Button "weg mit mc_2" zwar noch aber die function auf dem Button "Her mit mc_2" die ein duplicateMovie ist funktioniert eben nicht mehr.

Viele Grüße

Nobby
nobby 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 05:05 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele