13. juni 2004 - 22:06Der er
14 kommentarer og 1 løsning
swapDepths med mere end to movieclips
Jeg vil gerne kunne bytte om på mine movieclips dybder, således at når man klikke på et mc, får det den øverste dybde og det mc der før var øverst bliver næstøverst, osv.
Jeg har følgende script, som jeg synes burde virke, men som ikke gør det. Er der nogen der kan hjælpe?
var highest = "2"; for (var i = 0; i<3; i++) { mc = this.attachMovie("window", "window"+i, i, {_x:100*i}); mc.onPress = function() { this.swapDepths("window"+highest); highest = substring(this._name, 7, -1); startDrag(this); }; mc.onRelease = function() { stopDrag(); }; }
var highest = 2; function pressHandler (){ for(var i = this.getDepth(); i < highest; i++){ this._parent["window"+i].swapDepths(i+1); } this.startDrag(); } for (var i = 0; i <= highest; i++) { mc = this.attachMovie("window", "window"+i, i, {_x:100*i}); mc.onPress = pressHandler; mc.onRelease = function() { stopDrag(); }; }
Det kan du tro - men som sagt "genbruger" scriptet ikke dybderne, men smider derimod det nye clip endnu højere op. hvis du har andre movieclips "deroppeaf", så vil de blive indhentet på et tidspunkt...
jeg tænkte mig ikke rigtigt omt da jeg skrev mit script - men dette virker ;)
var highest = 2; function drag() { for (var i = this.getDepth(); i<highest; i++) { this._parent.getInstanceAtDepth(i).swapDepths(i+1); } this.startDrag(); } for (var i = 0; i<=highest; i++) { mc = this.attachMovie("window", "window"+i, i, {_x:100*i, onPress: drag, onRelease: stopDrag}); }
Tak for karma Barklund! Jeg er straks gået i gang med at få lukket alle de gamle spørgsmål, men gider du så ikke hjælpe mig ved at ligge et svar her: http://www.eksperten.dk/spm/461055/ ;o)
Hehe...pyroman du bør næsten også få point for din energiske indsats :o) Smid et svar så finder jeg lidt flere point frem til jer imens.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.