Avatar billede jakwag Nybegynder
19. august 2003 - 19:26 Der er 8 kommentarer og
2 løsninger

this.removeMovieClip() virker ikke?

Hej

Jeg har denne kode:

var n = -10000;
this.onEnterFrame = function() {
    var magicNumber = Math.round(Math.random()*5);
    if (magicNumber == 3) {
        square0_mc.duplicateMovieClip("square"+n+"-mc", n);
        this["square"+n+"-mc"]._y = Math.random()*47;
        this["square"+n+"-mc"]._x = 780;
        this["square"+n+"-mc"].speed = 5+(Math.floor(Math.random()*10));
        var scale = Math.round(Math.random()*100);
        this["square"+n+"-mc"]._xscale = scale;
        this["square"+n+"-mc"]._yscale = scale;
        this["square"+n+"-mc"]._alpha = 100-Math.round(Math.random()*80)
        this["square"+n+"-mc"].onEnterFrame = function() {
            this._x -= this.speed;
            if(this._x<-100){
                trace(this)
                this.removeMovieClip();
            }
        };
        this["square"+n+"-mc"].onRollOver = function() {
            this.play();
        }
        n++;
    }
};

Hvis du vil afprøve den så lav et moviclip med et eller andet i og giv det instance navnet square0_mc.

Problemet er at de ikke bliver slettet efter at de er kommet ud af skærmen, hvilket kommer til at give problemmer for nogle computerer.

Hvad gør jeg galt? Jeg kan ikke se det. den trace this men sletter ikke?

: ) Jakob
Avatar billede thulstrup Nybegynder
19. august 2003 - 20:35 #1
Det er din n den er galt med. Din movieclips kommer til at hedde noget ala _level0.square-10000-mc. Prøv at lav n positiv istedet.
Avatar billede jakwag Nybegynder
19. august 2003 - 20:40 #2
Det har jeg prøvet. Det virker heller ikke.
Mener du ikke sådan her f.eks.:

var n = -10000;
this.onEnterFrame = function() {
    var magicNumber = Math.round(Math.random()*5);
    if (magicNumber == 3) {
        var u = n+10000;
        square0_mc.duplicateMovieClip("square"+u+"_mc", n);
        this["square"+u+"_mc"]._y = Math.random()*53;
        this["square"+u+"_mc"]._x = 780;
        this["square"+u+"_mc"].speed = 5+(Math.floor(Math.random()*10));
        var scale = Math.round(Math.random()*100);
        this["square"+u+"_mc"]._xscale = scale;
        this["square"+u+"_mc"]._yscale = scale;
        this["square"+u+"_mc"]._alpha = 100-Math.round(Math.random()*80);
        this["square"+u+"_mc"].onEnterFrame = function() {
            this._x -= this.speed;
            if (this._x<-100) {
                this.removeMovieClip();
            }
        };
        this["square"+u+"_mc"].onRollOver = function() {
            this.play();
        };
        n++;
    }
};

Sådan ser mit script ud nu.
Avatar billede jakwag Nybegynder
19. august 2003 - 20:41 #3
Jeg bliver desværre nød til at smutte, så jeg reagere nok ikke rigtig før imorgen. : )
Avatar billede thulstrup Nybegynder
19. august 2003 - 20:41 #4
Nej, jeg mener var n = 10000; istedet for var n = -10000;
Avatar billede barklund Nybegynder
19. august 2003 - 20:50 #5
Jeg tror det skyldes det negative level. Prøv at swappe den op til et positivt først... Er det overhovedet nødvendigt med negative (skal det ligge under noget)?
Avatar billede barklund Nybegynder
19. august 2003 - 22:05 #6
Men negative levels er et problem og de er en udokumenteret feature. Så ligesom med meget høje levels (> 1.000.000) kan der være problemer med at fjerne dem igen...
Avatar billede mat Nybegynder
20. august 2003 - 00:38 #7
et spørgsmål: Hvorfor remove dem og spawne nye? Hvorfor ikke spawne et vist antal og genbruge dem?

Men så vidt jeg har forstået er negative dybder reserverede til authortime materiale og kan ikke removes (medmindre de som barklund siger swappes til en positiv dybde).

mvh mat
Avatar billede jakwag Nybegynder
20. august 2003 - 10:12 #8
Det var pokkers! Man kan ikke slette mc's der ligger på minus depth, det forklare jo en del. Fjollet.

Mat> på den her måde vil det blive mere tilfældigt end hvis der altid er det samme antal.

Barlund må lige lægge et svar for den gode forklaring.
Cellblock får sefølig også point.

Tak for hjælpen.
Avatar billede barklund Nybegynder
20. august 2003 - 10:25 #9
Ok, men det virker da, hvis man swapper...
Avatar billede barklund Nybegynder
20. august 2003 - 10:25 #10
*host*
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester