hi alex, du hast recht mit delete statt splice. um genau zu sein, funktioniert letzteres sogar gar nicht, da dann ja alle höher liegenden einträge nach unten rutschen und die array-position nicht mehr wirklich die tiefe des clips wiedergibt. leider wird das problem der zwischen zwei alten clips eingefügten neuen clips damit nicht gelöst, da im array ja ein eintrag frei ist, der dann von der funktion gefüllt wird... sollte aber bei den wenigsten anwendungen stören. wenn es wirklich benötigt wird, kann man ja immer noch die remove-funktion so erweitern, daß sie alle direkt folgenden clips eine ebene tiefer legt. >Dazu müsste man die Tiefe ja schon vorher wissen. das ist ja gerade sinn der sache! wenn du einen clip definitiv auf eine ganz bestimmte ebene legen willst und einen evtl. vorhandenen ersetzen willst, weißt du die tiefe ja auf jeden fall. damit kannst du die _tiefe-property direkt nach dem attachen setzen: //<beispiel> zieltiefe = 10; _root.attachClip("ball", "ball1", zieltiefe); _root.ball1._tiefe = zieltiefe; //</beispiel> >Schließlich müsste das der User wissen. der user muß jua sowieso wissen, daß der attachMove-befehl sich etwas anders verhält, also sollte ein weiterer parameter oder das nutzen der originalfunktion sowieso gut dokumentiert sein.. gruß, till -----Ursprüngliche Nachricht----- Von: ascoders-bounce@xxxxxxxxxxxxx [mailto:ascoders-bounce@xxxxxxxxxxxxx] Im Auftrag von Alex Uhlmann Gesendet: Donnerstag, 31. Oktober 2002 12:09 An: ascoders@xxxxxxxxxxxxx Betreff: [ascoders] AW: AW: AW: AW: FL5: _depth Till, hey klasse Veränderungen. Das mit removeMovieClip klappt. Ich würde allerdings statt this._parent.tiefen.splice(this._tiefe, 1); delete this._parent.tiefen [this._tiefe]; nehmen. Splice füllt den gesamten Array unötig mit undefined auf. damit wird auch der eintrag im array gelöscht, wobei das problem ist, daß ein neuer clip damit zwischen zwei alten eingefügt werden könnte und damit nicht mehr als oberstes zu sehen ist. im vorliegenden beispiel würde ein weiterer clip mit tiefenangabe 10 zwischen b1 und b3 eingefügt werden. >mit delete dürfte das nicht passieren. ein weiteres problem ist, daß es mit diesem code nicht mehr möglich ist, einen schon vorhandenen clip gezielt zu ersetzen. dazu müßte ein weiterer parameter eingeführt werden, der das ermöglicht. problem dabei ist, daß attachMovie ja noch den weiteren parameter unterstützt (activationObject). um den parameter zum überschreiben zu benutzen, müßte er also noch nach das activationObject gesetzt werden, selbst wenn keins übergeben werden soll. ein aufruf könnte dann so aussehen: _root.attachMovie("b", "b1", {}, true); >*g* ...gute Idee... Geht mir aber ein bisschen zu weit. Schließlich müsste das der User wissen. ): eine viel einfachere lösung ist eigentlich, den original-attach befehl zu benutzen und dann den _tiefe-parameter manuell zu setzen. beispiel: _root.attachClip("b", "b1", 10); _root.b1._tiefe=10; >Dazu müsste man die Tiefe ja schon vorher wissen. Schön wäre ja das hier: _root.ball1._tiefe = _root.attachClip("ball","ball1",10); _tiefe wird anscheinend hier durch das spätere attachMovie überschrieben. Gruß Alex ------------------------------------------------------ Archiv : //www.freelists.org/archives/ascoders/ Optionen : //www.freelists.org/list/ascoders ------------------------------------------------------ ------------------------------------------------------ Archiv : //www.freelists.org/archives/ascoders/ Optionen : //www.freelists.org/list/ascoders ------------------------------------------------------