Avatar billede baitianlong Nybegynder
05. august 2002 - 13:30 Der er 26 kommentarer og
1 løsning

DuplicateMC slider computer op

Hej drenge.

Jeg kaster duplikerede movieclips ned i en bil her:

http://www.legende.dk/eksperten/pakke.html

Men allerede når pakke nr. 3-4 kommer, er frameraten nede på 1 i sekundet, eller lign. Hvorfor er det så hårdt. De skal jo ikke lave noget, når de er landet.... Her er scriptet på pakken:

onClipEvent(load) {
    if(_name eq "pakke") {
        ystart = _y;
        xstart = _x;
    } else {
        _root.i++;
    }
}

onClipEvent(enterFrame) {
    if(!hittest(_root.lastbil)) {
        _rotation += 20;
        _y += 8;
    } else {
        duplicateMovieClip(this, "pakke" + _root.i, _root.i);
        _y = ystart;
        _x = xstart;
    }
}
Avatar billede pixelpaw Nybegynder
05. august 2002 - 13:36 #1
onClipEvent(load) {
    blnHit = false;
    if(_name eq "pakke") {
        ystart = _y;
        xstart = _x;
    } else {
        _root.i++;
    }
}

onClipEvent(enterFrame) {
if (!blnHit) {
    if(!hittest(_root.lastbil)) {
        blnHit = true;
        _rotation += 20;
        _y += 8;
    } else {
        duplicateMovieClip(this, "pakke" + _root.i, _root.i);
        _y = ystart;
        _x = xstart;
    }
}
}
Avatar billede pixelpaw Nybegynder
05. august 2002 - 13:36 #2
prøv med det. Jeg har ikke testet det, men det skulle gøre at den ikke laver udregninger hele tiden
Avatar billede baitianlong Nybegynder
05. august 2002 - 13:38 #3
Pakken flyver ikke længere. Den står stille i luften )O;
Avatar billede pixelpaw Nybegynder
05. august 2002 - 13:39 #4
hm, kan du sende eller uploade filen ?
paw@pote.dk
Avatar billede baitianlong Nybegynder
05. august 2002 - 13:41 #5
Avatar billede barklund Nybegynder
05. august 2002 - 13:44 #6
Skal dubletterne af pakken og kopieres videre i nye underclip? For det bliver de jo... Først dubleres den første, så begge to, så alle fire... get it? Er det ikke kun "pakke", der skal kopieres:

onClipEvent(load) {
    if(_name eq "pakke") {
        ystart = _y;
        xstart = _x;
    } else {
        _root.i++;
    }
}

onClipEvent(enterFrame) {
  if (_name == "pakke") {
    if(!hittest(_root.lastbil)) {
        _rotation += 20;
        _y += 8;
    } else {
        duplicateMovieClip(this, "pakke" + _root.i, _root.i);
        _y = ystart;
        _x = xstart;
    }
  }
}

/Barklund
Avatar billede pixelpaw Nybegynder
05. august 2002 - 13:49 #7
yup, det er også det jeg har fundet frem til
Avatar billede pixelpaw Nybegynder
05. august 2002 - 13:50 #8
men der skal nok lige laves en lille udregning til hvor pakken skal placeres på lastbilen, det går lidt galt
Avatar billede pixelpaw Nybegynder
05. august 2002 - 13:53 #9
onClipEvent(load) {
    if(_name eq "pakke") {
        ystart = _y;
        xstart = _x;
    } else {
        _root.i++;
        intLastbilY = _root.lastbil._y;
        intTarget = intLastbilY - (this._width / 2);
        _y = intTarget+2;
    }
}

onClipEvent(enterFrame) {
    if(_name == "pakke") {
        if(!hittest(_root.lastbil)) {
            _rotation += 20;
            _y += 8;
        } else {
            duplicateMovieClip(this, "pakke" + _root.i, _root.i);
            _y = ystart;
            _x = xstart;
        }
    }
}
Avatar billede baitianlong Nybegynder
05. august 2002 - 13:53 #10
Jeg tænkte nok, der blev kopieret og kopieret... Nu kører det fint - Og i har naturligvis ret i at jeg skal flytte den lidt frem og tilbage på _x inden jeg smider den næste....
Avatar billede barklund Nybegynder
05. august 2002 - 13:56 #11
Selvfølgelig er det fejlen... Når din pakke har ramt bilen, så kopieres den og kopien ligger hvor pakken lå. Pakken flyttes op til toppen og animeres nedaf, men i mellemtiden ligger den anden pakke nede på lastbilen og laver en kopi af sig selv hver enterFrame... skidesmart :o)
Avatar billede baitianlong Nybegynder
05. august 2002 - 13:58 #12
Det bliver en god jul - mange pakker (o;
Avatar billede baitianlong Nybegynder
05. august 2002 - 14:08 #13
PP> din kode får pakkerne til at lande nede i "ladet" - ...nu jeg har gang i jer, så kunne det jo være glimrende, hvis pakkernes udgangspunkt flyttede lidt frem og tilbage, og hvis hitTesten også galdt de andre pakker (så ville de blive stablet) ... (o;
Avatar billede pixelpaw Nybegynder
05. august 2002 - 14:11 #14
du kan justere hvor de lander med
_y = intTarget+2;
2'tallet
Avatar billede pixelpaw Nybegynder
05. august 2002 - 14:15 #15
Nåh ja, nu kan jeg huske hvorfor de lander i ladet. Jeg lavede om på lastbilen, så grafikken starter i
_y = 0
Avatar billede pixelpaw Nybegynder
05. august 2002 - 14:20 #16
Hvis det skal virke på pakkerne, så ville jeg nok opbygge det lidt anderledes.
Jeg ville putte de dublikerede MC ind i deres eget MC for at man kunne nøjes med at checke på det enkelte. (istedet for alle pakkerne).
Forskellige udgangspunkter laver du med en random.
Avatar billede baitianlong Nybegynder
05. august 2002 - 14:25 #17
For at stable kan man vel bare:

if(!hittest(_root.lastbil) && !hitTest(øhhh _name.index.of("pakke"))

Nårh det gik ikke lige så godt (o;
Avatar billede pixelpaw Nybegynder
05. august 2002 - 14:32 #18
du kunne lave en
for (q=1;q<=_root.i;q++) {
  if (hitTest.(_root["pakke"+q])) {
    blabla
  }
}

(ikke testet)
Avatar billede pixelpaw Nybegynder
05. august 2002 - 14:43 #19
http://flash.pote.dk/pakke.fla

Det bedste jeg lige kunne få stykket sammen. Der er lavet lidt om på hvor grafikken i lastbilen er placeret.
Avatar billede baitianlong Nybegynder
05. august 2002 - 14:44 #20
Jamen en forløkke i en enterframe er jo noget skidt, er det ikke ?
Avatar billede baitianlong Nybegynder
05. august 2002 - 14:47 #21
Din stable-fest virker dog fint. Jeg skal bare lige hitteste på det nederste af laddet i stedet for, så er den der vist ((O;
Avatar billede baitianlong Nybegynder
05. august 2002 - 14:58 #22
Ja. nu er det smukt... Jeg har ændret lidt i det...

onClipEvent(load) {
    if(_name eq "pakke")
        xstart = _x;
        ystart = _y;
}

onClipEvent(enterFrame) {
    if(_name == "pakke") {
        for (q=1;q<=_root.i;q++)
            if (hitTest(_root["pakke"+q]._x,_root["pakke"+q]._y,true))
                blnHit = true;
        if(!hittest(_root.lastbil.lad) && !blnHit) {
            _rotation += 20;
            _y += 8;
        } else {
            duplicateMovieClip(this, "pakke" + _root.i, _root.i);
            _root.i++;
            _y = ystart;
            _x = xstart - 50 + random(100);
            blnHit = false;
        }
    }
}

http://www.legende.dk/pakke[1].html

Tak for hjælpen - til begge - smid et svar for de 30 points (o;
Avatar billede pixelpaw Nybegynder
05. august 2002 - 15:03 #23
her
Avatar billede barklund Nybegynder
05. august 2002 - 16:50 #24
Jeg synes pakkerne lander en anelse unaturligt oven på hinanden. Jeg mener helt bestemt at du bør inddrage pakkernes naturlige lejringsvinkel i din film, sådan at de ruller ned af hinanden... :o)
Avatar billede pixelpaw Nybegynder
05. august 2002 - 17:12 #25
barklund, det synes jeg du skal lave :o)
Avatar billede baitianlong Nybegynder
05. august 2002 - 17:16 #26
Du er for fed Barklund - Det ville edermame være sejt, hvis de gjorde det - sindsygt !!!! (o; Kan vel klares i "en linie" af dig *lol*
Avatar billede barklund Nybegynder
05. august 2002 - 18:04 #27
Hihi... Ville ikke ane, hvor jeg skulle starte, men det kunne være sejt... måske bare med nogle bolde til at starte med... :o) Anelse bit-101-agtigt...
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