Avatar billede mymouse Nybegynder
18. september 2004 - 22:54 Der er 7 kommentarer

onclipevent stop

Hey..

Jeg vil gerne standse et onClipEvent.
onClipEvent loader et spil hvor man kan flytte rundt på nogle symboler, Efter et tispunkt så stopper spillet med en onClipEvent med getTimer. Det virker fint men jeg kan ikke finde ud af at få symbolerne til at "fryse". 

Og hvor i scriptet skal jeg skrive det?

-mymouse
Avatar billede _k Nybegynder
18. september 2004 - 23:56 #1
Nu kan et onClipEvent være mange ting, men jeg antager at du mener onClipEvent(enterFrame) ??

...og sådan et kan man ikke umiddelbart standse. Dvs. at jeg aldrig selv har prøvet med mitMC.removeMovieclip(), så måske er det så nemt? (prøv det)

Ellers er den mest almindelige måde at gøre det du ønsker på, at lave en boolsk variabel som du så ændrer når alt er færdigt. F.eks sådan her:

onClipEvent(load) {
  erViFinito = false;
}
onClipEvent(enterframe) {
  if(erViFinito == false) {
    // her er så koden til dit spil
  }
  else {
    // Spillet er slut. Skal der ske noget?
  }
}

Det du så gør når spillet slutter, er at ændre den boolske variabel:

navnetPåDetMCSomOnClipEventKørerPå.erViFinito = true;

...og til en anden gang, vil jeg så anbefale at modernisere dine script en smule, og bruge this.onEnterFrame = function() {} på en frame i stedet for de halvbesværlige onClipEvents på objekter. Fra MX og frem blev de en smule outdatede (men virker stadigvæk...... endnu)
Avatar billede rohaje Nybegynder
19. september 2004 - 01:21 #2
du kan godt stoppe en onClipEvent,,
hvis du f.eks kører en function eks:

function minFunktion(){
//spille spille spille
}

onClipEvent=minFunktion;

kan onClipEvent stoppes med
onClipEvent = false;
Avatar billede rohaje Nybegynder
19. september 2004 - 01:23 #3
onEnterFrame=minFunktion;

onEnterFrame=false;

selvfølgelig og ikke onClipEvent,,
Avatar billede mat Nybegynder
19. september 2004 - 11:03 #4
eller:

delete clip.onEnterFrame;

:)
Avatar billede mymouse Nybegynder
19. september 2004 - 19:17 #5
Jeg vil gerne sætte dette ind i en function, men kan ikke få det til at virke. Har ikke helt styr på syntaksen, så jeg vil gerne have hjælp med det.

Efter tiden på de 15 sec, hvor det man trækker i stopper så skal ikke være muligt at trække i noget overhovedet.




// start with nothing dragging
onClipEvent (load) {
    dragPart = 0;
}

// start drag
onClipEvent (mouseDown) {
    // get current location
    x = _root._xmouse;
    y = _root._ymouse;

    // find which, if any, part the cursor is over
    for(i=1;i<=13;i++) {
        if (_root["Part"+i].hitTest(x,y, true)) {
            // set to drag this part, remember offset
            dragPart = i;
            offsetx = _root["Part"+i]._x - x;
            offsety = _root["Part"+i]._y - y;
            break;
        }
    }

}

// end drag
onClipEvent (mouseUp) {
    dragPart = 0;
}

// if dragging, set new position
onClipEvent (enterFrame) {
    if (dragPart > 0) {
        _root["Part"+dragPart]._x = _root._xmouse + offsetx;
        _root["Part"+dragPart]._y = _root._ymouse + offsety;
    }
}
onClipEvent(load) {
    // calculate end time
    endTime = getTimer()+15000;
}

onClipEvent(enterFrame) {
    // calculate time left
    timeLeft = (endTime - getTimer())/1000;

    // game over
    if (timeLeft <= 0) {
        _root.timeDisplay = "0";
        _root.gotoAndStop("2");
       
    } else {
        // display time left
        _root.timeDisplay = timeLeft;
    }
}
Avatar billede _k Nybegynder
19. september 2004 - 21:56 #6
Hvilke instance-navne har de 2 mc'er hvorpå koden sidder?
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