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".
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
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:
...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)
// 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; } }
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.