hi alex, ich denke, damit sollte alles ok sein, scheint auch bei mir problemlos zu funktionieren.. wird gleich in meiner prototypes-library gespeichert, ist vielleicht ja auch was für die ASL (http://sourceforge.net/projects/fasl/ falls du noch nicht davon gehört hast). gut, daß du den code nochmal auf englisch übersetzt hast, ich weiß gar nicht, warum ich mit deutschen funktionsnamen angefangen habe.. vermutlich wegen der ungewohnten deutschen mailingliste.. gruß, till -----Original Message----- From: ascoders-bounce@xxxxxxxxxxxxx [mailto:ascoders-bounce@xxxxxxxxxxxxx] On Behalf Of Alex Uhlmann Sent: Friday, November 01, 2002 11:05 AM To: ascoders@xxxxxxxxxxxxx Subject: [ascoders] AW: AW: AW: AW: AW: AW: FL5: _depth Hi Till, Super Vorschlag noch eine attachToDepth Methode zu benutzen. Funktioniert ohne Problem. Ich konnte zumindest keine Bugs entdecken. (: Das Problem mit der falschen Reihenfolge der Clips sehe ich auch nicht sehr problematisch. Kommt natürlich auch auf das Projekt an. Die Lösung dazu mit den Lücken füllen, ist allerdings auch nicht ganz unprobelmatisch. Wenn man beim removeMovieClip() versucht alle Lücken zu schließen, verändert man evtl. auch die Tiefe von Clips die mit attachToDepth() auf eine bestimmte Ebene attached wurden. Der User geht davon aus, dass durch seine attachToDepth Methode, die Clips auf einer bestimmten Ebene auch bleiben. OK. Er hätte die _depth Eigenschaft, die er abfragen könnte. Hier noch mal alles zusammengefasst. Habe ich was vergessen? //save original attachMovie in attachClip. MovieClip.prototype.attachClip = MovieClip.prototype.attachMovie; //store every mc and depth in depthArr. //every object that contains attached elements has its own depthArr. MovieClip.prototype.attachMovie = function(id,newname,depth) { if(typeof(this.depthsArr)!="object") { this.depthsArr = new Array(); } while(true) { if(typeof(this.depthsArr[depth])=="movieclip") { depth++; } else { break; } } this.attachClip(id,newname,depth); this.depthsArr[depth] = this[newname]; this[newname]._depth = depth; return this[newname]; } //attach to specific depth and replace existing content. MovieClip.prototype.attachToDepth = function(id,newname,depth) { this.attachClip(id,newname,depth); this.depthsArr[depth]=this[newname]; this[newname]._depth = depth; return this[newname]; } //save original removeMovieClip in removeClip. MovieClip.prototype.removeClip = MovieClip.prototype.removeMovieClip; //change depthArr when removing attached element. MovieClip.prototype.removeMovieClip = function() { delete this._parent.depthsArr[this._depth]; this.removeClip(); } trace(_root.attachMovie("ball","ball1",10)); trace(_root.attachMovie("b","b1",10)); b1._x = 40; trace(_root.attachMovie("b","b2",10)); b2._y = 0; _root.b2.removeMovieClip(); trace(_root.attachMovie("b","b2",10)); b2._y = 40; trace(_root.attachMovie("b","b3",10)); b3._x = 90; trace(_root.attachToDepth("b","b4",10)); b4._y = 70; 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 ------------------------------------------------------