Det er et lidt omstændigt script for så lidt. Og derudover er det jo din dot, der selv skal fjerne sig . og derfor er det dennes script, som vi gerne vil se,
Altså, du laver jo kun et nyt movieclip, hvis counter er 1 - og det er den kun 1 gang? Så i virkeligheden venter du bare 1 frame med at lave et movieclip og laver derudover ikke andet.
Og for at vi kan få din prik til at fjerne sig, så tester vi da bare, om den har flyttet sig ud af skærmen:
Hmm det virker ikke. Det virker lidt som om der er noget galt med måden at gjerne movieclippet på. For det virker ikke engang når jeg bare opretter et movieclip og sætter det til at "forsvinde" i frame 1.
Har også prøvet med _root.getNextHighestDepth();, men med samme resultat. Men som sagt tror jeg ikek det er dybden den er gal med, for jeg kan ikek engang fjerne et mc jeg bare ligger det i frame 1, og skriver "spas.removeMovieClip();" i frame 1.
Du kan ikke fjerne et movieclip med removeMovieClip, hvis du manuelt har placeret det på scenen - kun hvis du swapper det op til en positiv dybde først. MovieClips manuelt placeret ligger nemlig i dybden -16384 og opaf. Derfor skal man swappe først.
Men jeg forstår ikke, hvilket movieclip det er, du vil fjerne - altså du kopierer en dot ud på scenen, og den indeholder igen et movieclip der hedder dot? Du kan jo bare fjerne det movieclip, som du duplikerer ud.
Du kan da bare give den en onEnterFrame i det du duplikerer den:
function flytPrik() { this._x -= 3; if (this._x<this._width/2) { this.removeMovieClip(); } }; ... var d = _root.getNextHighestDepth(); var m = attachMovie("dot", "dot_"+d, d, {_x:705, _y:ypos}); m.onEnterFrame = flytPrik; ...
Smart :D, men har kun et problem med at slette dem nu, hmm. Det burde ellers virke, scriptet ser sådan her ud(har ændret det til "Red" på det hele fordi jeg både har en række af sorte og røde prikker nu):
function flytPrik() { this._x -= 3; if (this._x<0) { this.removeMovieClip(); } }; _root.createEmptyMovieClip("obControlRed", 5000); var yposRed:Number = 150; var ranGenRed:Number = 0; var oldYRed:Number = 0; var pointsRed:Number = 0; obControlRed.onEnterFrame = function() { pointsRed += 1; pointsTxtRed.text = pointsRed; ranGenRed = Math.floor(Math.random()*2); oldYRed = yposRed; var d = _root.getNextHighestDepth(); var m = attachMovie("dotRed", "dotRed_"+d, d, {_x:705, _y:yposRed}); m.onEnterFrame = flytPrik; if (ranGenRed == 0) { if (yposRed<5) { yposRed = oldYRed+5; } else { yposRed = oldYRed-5; } } else if (ranGenRed == 1) { if (yposRed>195) { yposRed = oldYRed-5; } else { yposRed = oldYRed+5; } } }; stop();
Tror det var din getNextHighestDepth, der gav problemer - da du åbenbart havde et movieclip helt oppe i millionerne. Deroppefra er det ikke til at slette noget igen.
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.