Avatar billede casm_ Nybegynder
28. december 2001 - 20:00 Der er 15 kommentarer og
1 løsning

duplicate movieclip....

movie dimention: 600x300px

jeg har et movie clip der laver noget farvelir når musen kører over. mit movieclip er 100x100px stort. jeg har så sidet og lavet en masse af disse movieclips..(dublicate movieclip), og lagt dem ud på min stage, og det virker som det skal...

kan dette scriptes, så jeg ikke skal sidde og gøre det selv, næste gang?
Avatar billede lingoman Nybegynder
28. december 2001 - 20:48 #1
Hvis man har et movieClip på stage kan det kopieres lige så mange gange som du vil.

movieClippet skal have et instance navn ( skriv i instance panelet)
lad mig antage at vi har kaldt det \"original_mc\" og at det befinder sig på hovedtidslinien

Når du vil have kopieret denne \"original_mc\" kalder du en action (knap eller frame eller mc)

antalKopier = 10;

for ( i = 0 ; i < antalKopier ; i++) {
duplicateMovieClip(\"original_mc\",\"kopi\" + i,i+1);
this[\"kopi\" + i]._x = this[\"original_mc\"]._x + ( i+1)*this[\"original_mc\"]._width;
}

Du kan selv justere hvor de skal placeres, men denne action laver 10 kopier af din \"original_mc\" og placerer kopierne ved siden ad hinanden i x retningen (vandret).

Kopierne hedder i dette eksempel \"kopi0\", \"kop1i\", \"kop2i\", \"kopi3\", ... og bliver placeret i levels 1,2,3,...

mvh geo

Avatar billede casm_ Nybegynder
28. december 2001 - 21:40 #2
hva så hvis der ska være 5 rækker ned, og en spacing på 10px imellem?

det ovenstående virker perfekt......tak!
Avatar billede casm_ Nybegynder
28. december 2001 - 21:41 #3
spacingen har jeg lige lavet...
Avatar billede casm_ Nybegynder
28. december 2001 - 21:47 #4
spacingen har jeg lige lavet... ---troede jeg :)
Avatar billede lingoman Nybegynder
28. december 2001 - 22:29 #5
antalKopier = 10;
spacing = 10;
                        for ( i = 0 ; i < antalKopier ; i++) {
                        duplicateMovieClip(\"original_mc\",\"kopi\" + i,i+1);
                        this[\"kopi\" + i]._x = this[\"original_mc\"]._x + ( i+1)*(this[\"original_mc\"]._width + spacing);
                        }

Hvor mange rækker vandret og lodret ?
Avatar billede casm_ Nybegynder
28. december 2001 - 23:19 #6
vandret 12
lodret  7
Avatar billede lingoman Nybegynder
28. december 2001 - 23:35 #7



spacing = 10;
rows = 12;
columns = 7;
for ( j = 0; j < rows ; j++) {
    for ( i = 0 ; i <columns ; i++) {
        k++;
        duplicateMovieClip(\"original_mc\",\"kopi\" + k, i+1);
        this[\"kopi\" + k]._x = this[\"original_mc\"]._x + ( i+1)*(this[\"original_mc\"]._width + spacing);
        this[\"kopi\" + k]._y = this[\"original_mc\"]._y + ( j+1)*(this[\"original_mc\"]._height + spacing);
    }
}

mvh geo
Avatar billede lingoman Nybegynder
29. december 2001 - 01:32 #8
rettelse>>

spacing = 10;
rows = 12;
columns = 7;
for (j=0; j<rows; j++) {
      for (i=0; i<columns; i++) {
    k++;

    if (!(i == 0 && j == 0)) {
        duplicateMovieClip (\"original_mc\", \"kopi\"+k, k+1);
        this[\"kopi\"+k]._x = this[\"original_mc\"]._x+i*(this[\"original_mc\"]._width+spacing);
        this[\"kopi\"+k]._y = this[\"original_mc\"]._y+j*(this[\"original_mc\"]._height+spacing);
    }
        }
}
stop ();
Avatar billede lingoman Nybegynder
29. december 2001 - 12:03 #9
Er du tilfreds ?
Avatar billede lingoman Nybegynder
29. december 2001 - 13:17 #10
Her er en lidt mere forståelig version af samme action

spacing = 10;
rows = 12;
columns = 7;
vandretAfstand = this[\"original_mc\"]._width+spacing;
lodretAfstand = this[\"original_mc\"]._height+spacing;

for (j=0; j<rows; j++) {
    for (i=0; i<columns; i++) {
        if (!(i == 0 && j == 0)) {
            level++;
            duplicateMovieClip (\"original_mc\", \"kopi\"+level, level);
            this[\"kopi\"+level]._x = this[\"original_mc\"]._x+i*vandretAfstand;
            this[\"kopi\"+level]._y = this[\"original_mc\"]._y+j*lodretAfstand;
        }
    }
}
stop ();

mvh geo
Avatar billede barklund Nybegynder
29. december 2001 - 16:06 #11
Hvis dit originale mc er stort - mange informationer - kan det godt give visse problemer, da du forsøger at flytte et mc, der endnu ikke er loadet ind fuldstændigt... Er dette tilfældet, skal det scriptes på en lidt anden måde, men hvis det virker, så er ovenstående fint!
Avatar billede lingoman Nybegynder
29. december 2001 - 16:09 #12
Hej barklund, og godt nytår !

Du må meget gerne uddybe dit forslag lidt mere så jeg kan lære lidt her :)
Avatar billede barklund Nybegynder
29. december 2001 - 16:19 #13
jeg ville, som du måske har set det før, have lavet disse actions ovenpå mit original_mc i stedet således:

onClipEvent(load) {
    if (_name eq \"original_mc\") {
        _root.vandret = 10 + _width;
        _root.lodret = 10 + _height;
        rows = 12;
        columns = 7;
        for (j=1; j<=rows; j++) {
            for (i=1; i<=columns; i++)
                this.duplicateMovieClip(\"kopi_\" add i add \"_\" add j, ++level);
        }
    } else {
        var s = _name.split(\"_\");
        /* s laver et array over navnet, som for
          eksempel kan være \"kopi_3_6\", der så
          bliver et array som [\"kopi\",\"3\",\"6\"]
        _x = _parent.original_mc._x + int(s[1])*_root.vandret;
        _y = _parent.original_mc._y + int(s[2])*_root.lodret;
    }
}

Dette skulle virke...

/Barklund
 
Avatar billede barklund Nybegynder
29. december 2001 - 16:20 #14
hovhov... jeg mangler selvfølgelig lige at slutte kommentaren, så linien:

          bliver et array som [\"kopi\",\"3\",\"6\"]

skal tilføjes */ og bliver til:

          bliver et array som [\"kopi\",\"3\",\"6\"] */


Så kører det...
Avatar billede lingoman Nybegynder
29. december 2001 - 17:25 #15
Jeg har ikke testet din action men mener at netop denne form kan medføre problemer da man ikke kan regne med at mc\'en er loadet. Desuden er jeg lidt i tvivl om denne form kopierer mc actionerne..Hvis den gør det betyder det jo at load actionerne gentages for hvert duplicateMovieClip() som medfører infinite loop, eller er jeg helt galt på den?
Avatar billede lingoman Nybegynder
29. december 2001 - 18:07 #16
Nåh ja, den sidste mulighed udelukker du med

if (_name eq \"original_mc\") {...
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