Skapa en snöflinga i Flash

Torsdagen den 6 december 2007

Några läsare har frågat mig hur det skapades snöflinga, så realistiskt, manicken jul. De som har laddat ner källan förmodligen redan vet ... Men det var mycket enkelt. Först av allt vill jag valt Brush verktyg i Flash och jag har utformat en punkt.

SnowflakeSnowflake

Jag har vänt det till en symbol och jag har två effekter tillämpas i rätt ordning: avfasa och Blur:

SnowflakeSnowflake

Resultatet blev: Snowflake

I detta MovieClip (symbol) har jag anslutit en enkel klass CNeve de facto intelligens stapelvara på sig själv:

ActionScript:
  1. { CNEVA klass sträcker MovieClip (
  2. _interval; var privata _interval;
  3. _maxy: Number ; var privata _maxy: Antal;
  4. / /
  5. CNEVA funktion () (
  6. this , "_move" , 25 ) ; _interval = setInterval (detta, "_Move", 25);
  7. ( ( Stage . height + 256 ) / 2 ) +_getRndRange ( - 20 , - 7 ) ; _maxy = Math. runda ((Stage. höjd + 256) / 2) + _getRndRange (- 20 - 7);
  8. )
  9. / /
  10. _getRndRange ( min : Number , max : Number ) : Number { Privat tillställning _getRndRange (min: Antal, max: Number): Antal (
  11. = Math . floor ( Math . random ( ) * ( max- min + 1 ) ) + min ; var randomNum: Antal = Math. golvet (Math. slumpmässigt () * (max-min + 1)) + min;
  12. randomNum avkastning;
  13. )
  14. / /
  15. _move ( ) { _Move Privata funktion () (
  16. 1 , 5 ) ; _y + _getRndRange = (1, 5);
  17. _getRndRange ( - 50 , 50 ) ) > 0 ) ? 1 : - 1 ; _X + = ((_getRndRange (- 50, 50))> 0)? 1 - 1;
  18. 1 , 5 ) ; _rotation + _getRndRange = (1, 5);
  19. _y>_maxy ) { om (_y> _maxy) (
  20. _interval ) ; clearInterval (_interval);
  21. )
  22. ; updateAfterEvent ();
  23. )
  24. )

Metoden _move() innehåller intelligens av råvara, eller hösten, mycket enkelt. Genom att ändra slumpmässigt _x += ((_getRndRange(-50, 50))>0) ? 1 : -1;, _x += ((_getRndRange(-50, 50))>0) ? 1 : -1;, genom att införa en _getRndRange(-550, 50), en vind effekt, nämligen flingor faller med en viss lutning. I synnerhet de flingor kan skicka till någon sida använder en kod så här:

ActionScript:
  1. _getRndRange ( _getRndRange ( - 350 , - 50 ) , _getRndRange ( 50 , 350 ) ) ) > 0 ) ? 1 : - 1 ; _X + = ((_getRndRange (_getRndRange (- 350, - 50), _getRndRange (50, 350)))> 0)? 1 - 1;

Rotationen _rotation += _getRndRange(1, 5); sedan, ger ytterligare information till basvara själv.
När jag skapar en basvara (se funktion creaFiocco() nedan) Jag lade också till en alpha=90 en skala slumpmässigt, att få snöflingor i olika storlekar.

ActionScript:
  1. / / Skapa stapelvara
  2. creaFiocco funktion () (
  3. 20 , 100 ) ; var s = randRange (20, 100);
  4. - Math . floor ( ( Stage . width - 320 ) / 2 ) , Math . round ( ( Stage . width + 320 ) / 2 ) ) ; var x = randRange (- Math. golvet ((Stage. bredd - 320) / 2), Math. runda ((Stage. bredd + 320) / 2));
  5. . floor ( ( ( Stage . height - 256 ) / 2 ) ) - 10 ; var y = - Math. golvet (((Stage. höjd - 256) / 2)) - 10;
  6. "neve" , "neve_" + index , index , { _x :x, _y :y, _xscale :s, _yscale :s, _alpha : 90 } ) ; c_mc. attachMovie ( "snö", "neve_" + index, index, (_X: x, _y: y, _xscale: s, _yscale: s, _alpha: 90));
  7. index + +;
  8. index> 1000 ) { if (index> 1000) (
  9. ; Index = 1;
  10. "c_mc" , 2 ) ; c_mc = createEmptyMovieClip ( "c_mc", 2);
  11. )
  12. )

Och det är allt ... ;) Glömde ... Hälsningar till alla och Trevlig helg ... ;)

Liknande Post

5 kommentarer till: "Skapa en snöflinga i Flash"

  1. getAvatar 1.0 Torsdagen den 06 december, 2007 at 14:48
    Dieg0 sa:

    Kolla min webbplats: http://www.Dieg0.com.ar
    Hälsningar,
    Diego

  2. getAvatar 1.0 Torsdagen den 06 december, 2007 at 15:17
    Giovambattista Fazioli sa:

    @ Diego0: Tack för länkar ;)
    På platsen för Diego Javascript är ett skript som simulerar också omfattas flingor av snö. Fördelen med att använda Javascript är att placera flingor på vår sida, som med Flash - medan possibiloe är genom öppenhet - förhindrar gjorde sedan valet.

  3. getAvatar 1.0 Söndag, december 09, 2007 at 19:26
    Chris sade:

    Det hello son kom att bläddra i vedendoti MyBlogLog på min blogghetto. Det är okunniga om blixten och dess omgivning, att jag inte vet var OOP åtgärder skript. Vem vet när den kommer att ge oss en titt, vad som lockar mig :-) Hej hej

  4. getAvatar 1.0 Söndag, december 09, 2007 at 19:36
    Giovambattista Fazioli sa:

    @ Chris: Tack för besök! Jag såg att du comentar i OO programmering med C + +! Utmärkt val. Att behandla och OO begrepp säkert vet att C C + +. ActionScript är inte lika "rent" som C + +, även om varje version är närmare och närmare det faktiska "nära" OO utveckling metoder. Men om du kan arbeta med Flash, inklusive ActionScript 2.0, du kan säkert hitta många saker upplysande.

  5. getAvatar 1.0 Måndagen den 27 oktober, 2008 14:52
    Widget jul: Snö faller i Flash | Undolog.com sa:

    [...] Uppdatering: Tjänsten är inte tillgänglig - Se Skapa en snöflinga i Flash [...]

Lämna en kommentar

TAG XHTML <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> href="" <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Använd <pre> att bifoga kod