Jag har gjort ett script som simulerar bubblor i vatten genom att göra om ett script som simulerar snöflingor. Det funkar fin-fint men problemet är att när det väl har börjat så kan det inte stannas, det fortsätter fastän man byter scen.
Såhär ser själva koden ut
Först läggs detta till i den första "framen" där bubblorna ska börja
no=25;
for (i=1;i<=no;i++) {
flake.duplicateMovieClip("flake"+i,i);
}
Sen läggs detta på en "movie clip" som heter "flake", det blir sen bubblorna, eller snöflingorna orginellt
onClipEvent(load) {
this._alpha=random(10)+10;
this._width=this._height=random(4)+12;
this._y=random(200);
this._x=random(600);
fall_speed = -1-Math.random()*2;
k=-Math.PI+Math.random()*Math.PI;
rad=0;
centerX=300;
centerY=100;
}
onClipEvent(enterFrame) {
rad+=(k/180)*Math.PI;
this._x+=Math.cos(rad)+ms;
this._y+=fall_speed;
ms=(centerX-_root._xmouse)/1000;
if (this._y<0) {
this._y=200;
}
if (this._x>640) {
this._x=0;
}
if (this._x<0) {
this._x=640;
}
}
Efter detta startat så kan det inte stoppas, inte på nått vis som jag vet. Kan nån hjälpa?
AlarMedlem sedan nov. 2004149 inlägg Testade lite. Ett sätt att stoppa det hela är att göra "flakes" tidslinje så lång som du vill ha animationen - 100 frames t.ex. Lägg därefter till en layer i "flakes" tidslinje och gör denna 101 frames lång. På frame 101 skriver du stop();
Ett annat sätt skulle kunna vara att lägga till en knapp - synlig eller osynlig. Vid t.ex mouseover på denna fyras följande av: flake.gotoAndStop(101); I detta fall behöver tidslinjen naturligtvis inte vara 100 frames - det räcker med 2 frames som har ett stop(); på både frame 1 och 2.
/Alar
Men då stannar väl hela animationen? Vill att den nya scenen ska laddas och bubblorna försvinna på samma gång.
Jag fick inte heller ditt första att funka, kanske jag misuppfattat nått, lade till ett lager ovanför flake layern som var längre och innehöll stop koden men när jag gick till den så stannade allt, förutom bubblorna.
EDIT: OK, jaha, man kan visst dubbelklicka på objekt och dom har enga tidslinjer dom själva... Förstår fortfarande inte hur du menar den andra, får det inte riktigt att gå ihop, det är annars meningen att bubblorna ska komma i all evighet tills man klickar på en knapp som byter scen(den hoppar helt enkelt en frame bortåm alla andra frames).
AlarMedlem sedan nov. 2004149 inlägg Jag menade att du skulle lägga till ett lager INNE i det movieclip som heter flake. Lagret skall alltså vara 1 frame längre än lagret med bubblan. Då får man stopp på bubblorna.
/Alar
Det försökte jag först men det funkade inte.
AlarMedlem sedan nov. 2004149 inlägg Konstigt.., för när jag testar med dina script så funkar det...
/Alar