Avatar billede cowboy Nybegynder
28. november 2006 - 22:07 Der er 7 kommentarer og
1 løsning

Stop sneen?

Hej med jer,

Jeg har fundet dette script der generere sne via actionscript. Mit problem er at jeg ikke kan få sneen til at stoppe igen, når først det er blevet genereret. Har i nogen ide til hvordan det kan gøres.

ActionScript i første frame:

for (k=0; k<50; k++) {
    duplicateMovieClip(_root.snow, "snow"+k, k);
}


MovieClip i første frame som er ét snefnug. På movieclippet er følgende code:

onClipEvent (load) {
    //specifies the size of the movie stage
    movieWidth = 300;
    movieHeight = 200;
   
    //variables that will modify the falling snow
    i = 1+Math.random()*2;
    k = -Math.PI+Math.random()*Math.PI;
   
    //giving each snowflake unique characteristics
    this._xscale = this._yscale=50+Math.random()*100;
    this._alpha = 75+Math.random()*100;
    this._x = -10+Math.random()*movieWidth;
    this._y = -10+Math.random()*movieHeight;
}
onClipEvent (enterFrame) {
    //putting it all together
    rad += (k/180)*Math.PI;
    this._x -= Math.cos(rad);
    this._y += i;
    if (this._y>=movieHeight) {
        this._y = -5;
    }
    if ((this._x>=movieWidth) || (this._x<=0)) {
        this._x = -10+Math.random()*movieWidth;
        this._y = -5;
    }
}

200 frames længere fremme skulle jeg gerne kunne sætte en action der stopper sneen, så den stadig er synlig, men stå stille.

Kan det lade sig gøre?
Avatar billede cowboy Nybegynder
28. november 2006 - 22:19 #1
I kan se sne tutorial'en her: http://www.kirupa.com/developer/mx/snow2.htm
Avatar billede barklund Nybegynder
28. november 2006 - 22:40 #2
Jeg sidder lidt og får tårer i øjnene, da et af mine allerførste spørgsmål her på eksperten havde næsten samme titel og i hvert fald samme formål:

http://www.eksperten.dk/spm/143604

Jeg tror endda der er et gammelt script i indlægget, som du kan bruge :)

--
Morten Barklund
Avatar billede barklund Nybegynder
28. november 2006 - 22:44 #3
Næ, jeg kan se at det offentligtgjorde script i indlægget for længst er taget ned :(

Hvis du vil have det hele til at stå stille, så håber jeg ikke du bruger Flash 5 - for så skal det laves ikke så pænt :|

Hvis du bruger Flash 6 eller nyere, så kan det laves som:

_root.snow.onEnterFrame = null;
for (k=0; k<50; k++) {
    _root["snow"+k].onEnterFrame = null;
}

Det skulle stoppe det hele :)

--
Morten Barklund
Avatar billede cowboy Nybegynder
28. november 2006 - 22:54 #4
jeg bruger flash 8 men udgiver det til flash 6.
Din løsning hjalp desværre ikke!
Avatar billede cowboy Nybegynder
28. november 2006 - 22:56 #5
kan jeg sende dig et eksempal du kan prøve det på?
Avatar billede barklund Nybegynder
29. november 2006 - 07:19 #6
Jeg ville nok omskrive det, så du ikke have script liggende på dine movieclips, men satte det dynamisk. Altså flyt din onload og onenterframe ud som funktion på timeline og kør onload på hvert clip efter duplicate - samt sæt onenterframe.
Avatar billede cowboy Nybegynder
13. december 2006 - 22:21 #7
Jeg fandt et andet eksempel som hjalp i stedet.
Avatar billede Slettet bruger
14. december 2006 - 08:14 #8
Kan du ikke poste dit svar cowboy, så vi kan se din løsning?
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