Avatar billede _stephan_ Nybegynder
28. oktober 2004 - 13:40 Der er 15 kommentarer og
1 løsning

duplicate mc =cpu dør? removescript virker ikke?

jeg har et movieclip der duplikeres med følgende kode:

onClipEvent (enterFrame) {
    i++;
    duplicateMovieClip(_root.lane, "lane"+i, i);
    if (i>90) {
        i = 0;
    }

det virker fint, men cpuen dør hurigt ("lane" tilføres alpha og seperate bevægelser). har prøvet følgende der ikke virkede?:
   
//      if (i>90) {
//        _root["lane"+i].removeMovieClip();
//        _root.i--;
//    }

jeg går ud fra at jeg skal bruge removeMovieClip, men hvordan?
Avatar billede kragekjaer Praktikant
28. oktober 2004 - 14:10 #1
prøv med

var i=0;
onClipEvent (enterFrame) {
if(i<91){
    duplicateMovieClip(_root.lane, "lane"+i, i);
i++ ; 
if (i==91) {
      delete this.onEnterFrame();
        i = 0;
    }
}
Avatar billede _stephan_ Nybegynder
28. oktober 2004 - 14:44 #2
prøver lige...
Avatar billede _stephan_ Nybegynder
28. oktober 2004 - 14:52 #3
så er der helt sort skærm.... intet sker
Avatar billede ask-m Nybegynder
28. oktober 2004 - 15:05 #4
følgende script tjekker først om der er noget i et givent movieclip, og fjerne det hvis der er inde der duplicates... dvs. anden gang "i" bliver lig med 1 bliver "_root.lane1" remove'et


onClipEvent (enterFrame) {
    i++;
    if(_root["lane" + i] != undefined){
        _root["lane" + i].removeMovieClip();
    }
    duplicateMovieClip(_root.lane, "lane"+i, i);
    if (i>90) {
        i = 0;
    }
}

Ask-M
Avatar billede _stephan_ Nybegynder
28. oktober 2004 - 15:08 #5
ok - skrivefejl. hmm...ser rigtigt ud, men nu kører den de første 90 frames og stopper så helt. det er meningen af den skal bliver ved med at duplikere, og bare slette dem der ikke bruges.
koden ligger i et seperat mc (_root.master)
Avatar billede ask-m Nybegynder
28. oktober 2004 - 15:14 #6
hvad er det for nogen der ikke bliver brugt?
- flytter movieClips'ne sig?

for sådan som ovenstående script burde virke, så loopes der gennem 90 lag og fjernes og tilføjes movieclips, så hvis de ikke flytter sig, så bliver movieclips'ne dupliceret ind under hinanden så snart scriptet starter forfra...

ask-m
Avatar billede _stephan_ Nybegynder
28. oktober 2004 - 15:14 #7
har lige prøvet din kode - ask - og nu virker det igen! takker... men min cpu dør stadig. Så enten må jeg acceptere at jeg ikke kan bruge fx. alpha (der bruger meget kraft) eller også gir din kode præcis det samme resultat som min?
Avatar billede ask-m Nybegynder
28. oktober 2004 - 15:17 #8
90 movieclips med alpha og bevægelser kan godt være tungt, men det lidt svært at vurdere herfra om det er kodens eller ambitionernes skyld - kan du ikke smide et test link, så vi kan se hvad det er du vil lave?

ask-m
Avatar billede _stephan_ Nybegynder
28. oktober 2004 - 15:28 #9
her er et link - www.gustin.dk/test/x.swf  (udgangspunktet kommer fra bit-101) - tror ikke knapperne virker (de ændre ellers bevægelserne, farverne, lyden osv)
Avatar billede _stephan_ Nybegynder
28. oktober 2004 - 15:29 #10
hvis du vil ha pointene er du velkommen, så bare læg et svar
(selvom den ikke er lukket!)
Avatar billede ask-m Nybegynder
28. oktober 2004 - 15:37 #11
på min maskine dør cpu'en ikke!!!

ask-m
Avatar billede _stephan_ Nybegynder
28. oktober 2004 - 15:38 #12
link 2 - www.gustin.dk/test/x1.swf - lidt tungere.
Avatar billede rohaje Nybegynder
28. oktober 2004 - 20:05 #13
kører fint på min
Avatar billede rohaje Nybegynder
28. oktober 2004 - 20:07 #14
måske skulle du prøve at checke lineTo og curveTo,, istedet for at duplicate en statisk form,, ved ikke om det hjælper på din cpu,, men flere muligheder :)
Avatar billede rohaje Nybegynder
29. oktober 2004 - 09:29 #15
hej stephan

tænkte lige at hvis det er det samme movie clip du duplikere, behøver du jo ikke fjerne og duplikere det igen, efter du runder de 90. Du kan jo nøjes med at transformere og flytte det sidste i rækken.

en Anden ting er at jeg tror du med fordel kan sætte _quality til LOW

onClipEvent (load) {
    i = 0;
    //det kan godt være du kan nøjes med low da _alpha'en er skruet ned,, det vil sætte sætte lidt skub i tingende
    _quality = "LOW";
    function dup() {
        i++;
        duplicateMovieClip(_root.lane, "lane"+i, i);
        if (i>90) {
            i = 0;
            onEnterFrame = flytOgTransformer;
        }
    }
    function flytOgTransformer() {
        i++;
        var navn = _root["lane"+i];
        // jeg ved ikke hvad du laver med lane clippet i forhold til transformationer
        navn._x = _root.lane._x;
        navn._y = _root.lane._x;
        navn._rotation = _root.lane._rotation;
        navn._xscale = _root.lane._xscale;
        navn._yscale = _root.lane._yscale;
        navn._alpha = _root.lane._alpha;
        if (i>90) {
            i = 0;
        }
    }
    onEnterFrame =dup;
}
Avatar billede _stephan_ Nybegynder
01. november 2004 - 12:29 #16
tak til jer alle 3.... s
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