Avatar billede larsbaun Nybegynder
27. februar 2003 - 15:30 Der er 9 kommentarer og
1 løsning

løkke

Jeg henter følgende variabler dynamisk

fx. : a=1 , b=5 , c=8 , d=10

hviket betyder at i række a skal bitmap xx være 1 gang
og i række b skal bitmap xx være 5 gange lige under hinanden osv. med c od d.

bitmap xx er et billede der er 115x36 px.

Hvordan laves den løkke.

20 point for at guidet lidt på vej og 100 oven i hvis det bliver lavet så det virker !
Avatar billede barklund Nybegynder
27. februar 2003 - 17:24 #1
Dit movieclip hedder "bitmap" og er i dit library som exportable, din tekstfil med de fire variabler hedder "tekstfil.txt", dine rækker starter på de nævnte koordinater:

MakeRows = new LoadVars();
MakeRows.rows = new Object();
MakeRows.rows.a = {x: 100, y: 100};
MakeRows.rows.b = {x: 250, y: 100};
MakeRows.rows.c = {x: 400, y: 100};
MakeRows.rows.d = {x: 550, y: 100};
MakeRows.diffHeight = 50;
MakeRows.base = this;
MakeRows.onLoad = function(s) {
    if (s) {
        var i,j,m,unik=1;
        for(i in this.rows) {
            trace("this."+i+" = "+this[i]);
            for(j = 0; j < this[i]; j++) {
                m = this.base.attachMovie("bitmap","bitmap_"+i+"_"+j,++unik);
                m._x = this.rows[i].x;
                m._y = this.rows[i].y;
                trace("m = "+m+", ("+m._x+","+m._y+")");
                this.rows[i].y += this.diffHeight;
            }
        }
    }
}
MakeRows.load("tekstfil.txt");

Din tekstfil indeholder "a=1&b=5&c=3&d=4&"...

Ovenstående virker :o)
Avatar billede baitianlong Nybegynder
27. februar 2003 - 17:40 #2
onClipEvent(load) {
    starty = _y;
    bredde = 115;
    hojde = 36;
    a = 1; b = 5; c = 8; d = 10;
      tal = new Array(a, d, c, b);
    if(_name == "bitmap") {
          for(i = 1; i < 4; i++) {
              this.duplicateMovieClip("bitmap" + i, i);
            _x -= bredde;
          }
      } else {
        antal = tal[substring(this._name, 7, 7)] - 1;
        blah = 100 * antal;
        for(i = blah+antal; i > blah; i--) {
            this.duplicateMovieClip("kopi2" + i, i);
            _y += hojde;
        }
    }
}

Så skal du bare placere dit movieclip længst til venstre, da den bygger til højre, og give det instancenavnet "bitmap"

Lidt syret løsning, men den virker da. http://62.199.243.70/duplicate.html
Avatar billede baitianlong Nybegynder
27. februar 2003 - 17:42 #3
Øv, jeg var for længe om det. I øvrigt har jeg skrevet du skal placere det til venstre da den bygger til højre. Som du kan se er det omvendt. LEVE barklund (o;
Avatar billede baitianlong Nybegynder
27. februar 2003 - 17:43 #4
Min er mest cool (((O; *LOL*
Avatar billede larsbaun Nybegynder
27. februar 2003 - 18:37 #5
hej begge to !
legende.dk du skal da have lidt for din indsats også , så du får 20
og barklund jeg ligge et nyt spørgsmål til dig med navnet point til barklund,
på 120 , tak for hjælpen begge to.

Jeg vil teste de senere i aften - jehuuu !
Avatar billede barklund Nybegynder
27. februar 2003 - 19:01 #6
OK :o)
Avatar billede larsbaun Nybegynder
28. februar 2003 - 09:01 #7
er det muligt af få jeres fla filer ??
larsbaun@hotmail.com
Avatar billede larsbaun Nybegynder
28. februar 2003 - 09:22 #8
Det virker !! men jeg har ikke behov for at hente variablerne fra en text fil,
jeg har dem i systemet, hvad gør jeg så med :

MakeRows.load("tekstfil.txt");
Avatar billede barklund Nybegynder
28. februar 2003 - 09:37 #9
Hmm... Det skulle du bare have sagt :o)

MakeRows = new Object();
MakeRows.rows = new Object();
MakeRows.rows.a = {x: 100, y: 100};
MakeRows.rows.b = {x: 250, y: 100};
MakeRows.rows.c = {x: 400, y: 100};
MakeRows.rows.d = {x: 550, y: 100};
MakeRows.diffHeight = 50;
MakeRows.base = this;
MakeRows.start = function() {
        var i,j,m,unik=1;
        for(i in this.rows) {
            trace("this."+i+" = "+this[i]);
            for(j = 0; j < this[i]; j++) {
                m = this.base.attachMovie("bitmap","bitmap_"+i+"_"+j,++unik);
                m._x = this.rows[i].x;
                m._y = this.rows[i].y;
                trace("m = "+m+", ("+m._x+","+m._y+")");
                this.rows[i].y += this.diffHeight;
            }
        }
}
MakeRows.a = 4;
MakeRows.b = 1;
MakeRows.c = 10;
MakeRows.d = 6
MakeRows.start();
Avatar billede larsbaun Nybegynder
28. februar 2003 - 11:11 #10
kanon - det virker - tak for hjælpen !!!
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