Avatar billede Slettet bruger
10. februar 2005 - 19:26 Der er 5 kommentarer

dynamisk duplicateMC

var i:Number = new Number();
    var i = 0;
start_mc.onRelease = function () {
    myMC_mc.duplicateMovieClip(i+"blah_mc", 100+i);
    ny_mc = i+blah_mc
    trace(ny_mc._y)
    ny_mc._y = (ny_mc._y+myMC_mc._height)+20;
    i++
};


hvorfor virker dette ikke efter hensigten -

orginalt skal den stå i en

for(var i = 0; i < 10; i++){
        myMC_mc.duplicateMovieClip(i+"blah_mc", 100+i);
    ny_mc = i+blah_mc
    trace(ny_mc._y)
    ny_mc._y = (ny_mc._y+myMC_mc._height)+20;
}
Avatar billede barklund Nybegynder
10. februar 2005 - 19:34 #1
"i+blah_mc" bliver jo aldrig "evalueret" til det movieclip, som har dette navn. Dette kan laves på mange måder, den smarteste mener jeg er at skrive

for(var i = 0; i < 10; i++){
    myMC_mc.duplicateMovieClip(i+"blah_mc", 100+i, {_y: (myMc_mc._y+myMC_mc._height)+20});
}

Og så spiller det. Vil du gerne have en reference og sætte _y "normalt", så er det:

for(var i = 0; i < 10; i++){
    var nyt_mc = myMC_mc.duplicateMovieClip(i+"blah_mc", 100+i);
    nyt_mc._y += myMC_mc._height + 20;
}

--
Morten Barklund
Avatar billede Slettet bruger
10. februar 2005 - 20:23 #2
nr 2 ser ud som den jeg søgte efter tak
Avatar billede Slettet bruger
10. februar 2005 - 20:26 #3
den virker ik - den laver et nyt mc neden under men efter det blir resten af mc'ne der blir generet lagt oven på den
Avatar billede barklund Nybegynder
10. februar 2005 - 20:30 #4
De ting løkker ovenover gjorde nu præcis det samme :)

Men mht. positionen, så må vi hellere tælle sammen

for(var i = 0, y = myMC_mc._y + myMC_mc._height; i < 10; i++, y += myMC_mc._height){
    myMC_mc.duplicateMovieClip("blah_mc" + 1, 100 + i, {_y: y});
}

Sådan, det ser da meget uoverskueligt ud :D

Eller skal vi være helt ekstreme:

for(var i = 0, y = myMC_mc._y + myMC_mc._height; i < 10; myMC_mc.duplicateMovieClip("blah_mc" + 1, 100 + i++, {_y: y += myMC_mc._height}));

Se, det ser fint ud!

--
Morten Barklund
Avatar billede barklund Nybegynder
10. februar 2005 - 20:32 #5
Okay okay, den pænere løsning:

var nyt_mc;
var y = myMC_mc._y;
var i;
for(i = 0; i < 10; i++) {
    y += myMC_mc._height;
    nyt_mc = myMC_mc.duplicateMovieClip("blah_mc" + 1, 100 + i);
    nyt_mc._y = y;
}

Så er ingen vist i tvivl om, hvad der sker - den gør dog det samme :)

--
Morten Barklund
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