Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

Effetto neve Flash CS3

This is a discussion on Effetto neve Flash CS3 within the Utilità degli utenti di FlepStudio forums, part of the Flash Italiano category; Salve Flep, e salve a tutti gli altri…sono new….chiamami pure DMan… sapete, con tutta la ...


Go Back   Forum Flash CS3 Flash CS4 > Flash CS3 Flash CS4 > Flash Italiano > Utilità degli utenti di FlepStudio

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  5 links from elsewhere to this Post. Click to view. #1 (permalink)  
Old 13-12-07, 21:26
DMan's Avatar
Junior Member
 
Join Date: Dec 2007
Posts: 3
Rep Power: 0
DMan is on a distinguished road
Effetto neve Flash CS3

Salve Flep,
e salve a tutti gli altri…sono new….chiamami pure DMan…
sapete, con tutta la cattiva informazione che circola sulla rete non è facile trovare portali dove, comunque, ci sono persone che, prima di tutto, sono mosse dalla passione per quello che fanno, sia che per loro sia un lavoro o no…comunque…complimenti ….

Iniziamo con un piccolo contributo….

Considerando che ormai da tempo le stagioni sono un po’ sballate ed il clima è in continuo mutamento…ma , soprattutto, di neve se ne vede sempre meno…..
Creiamo un po’ di neve…e poi….è Natale…senza neve che Natale è?....
Flep vorrei pubblicare un’anteprima ma non so se joomla lato utente lo permetta… magari poi commentiamo un po’ le proprietà ed i metodi….ciao DMan

Creiamo una classe che chiameremo SnowStorm:

Code:
package 
  {
                  import flash.display.Sprite;
                  import flash.utils.Timer;
                  import flash.events.TimerEvent;
                                 
                  public class SnowStorm extends Sprite
                  {
                   private var _numFlakes:int = 1000;
                   private var _speed:int = 5; 
                   private var _speedVariation:int = 10; 
                    private var _snowSize:Number = 5;
                   private var _snowColor:uint = 0xFFFFFF;
                   private var _viewWidth:Number; 
                   private var _viewHeight:Number; 
   
                   public function begin(p_time:Number=NaN):void
                      {
                       if (isNaN(_viewWidth)) _viewWidth = stage.stageWidth;
                       if (isNaN(_viewHeight)) _viewHeight = stage.stageHeight;
                        var delay:Number = (isNaN(p_time)) ? 0 : (p_time*1000)/_numFlakes;
                       var timer:Timer = new Timer(delay, _numFlakes);
                     timer.addEventListener(TimerEvent.TIMER, createFlake);
                     timer.start();
                       }
      
                    private function createFlake(event:TimerEvent):void
                      {
                       var snowFlake:SnowFlake = new SnowFlake(_speed, _snowSize, _snowColor, _speedVariation,    _viewWidth,    _viewHeight);
                       addChild(snowFlake);
                       }
                     
                      private function destroyFlake(event:TimerEvent):void
                                 {
                                                 removeChildAt(0);
                                 }
                              public function set numFlakes(p:int):void
                                 {
                                                 _numFlakes = p;
                                 }
                                 
                                 public function set speed(p:int):void
                                 {
                                                 _speed = p;
                                 }
                                 
                                 public function set speedVariation(p:int):void
                                 {
                                                 _speedVariation = p;
                                 }
                                 
                                 public function set snowSize(p:Number):void
                                 {
                                                 _snowSize = p;
                                 }
                                 
                                 public function set snowColor(p:uint):void
                                 {
                                                 _snowColor = p;
                                 }
                                 
                                 public function set viewWidth(p:Number):void
                                 {
                                                 _viewWidth = p;
                                 }
                                 
                                 public function set viewHeight(p:Number):void
                                 {
                                                 _viewHeight = p;
                                 }
                  }
  }

Poi creiamo una classe che chiameremo SnowFlake:

Code:
package 
  {
                  import flash.display.Sprite;
                  import flash.events.*;
                  import flash.filters.BlurFilter;
   
                  internal class SnowFlake extends Sprite
                  {
                                 private var speedMultiplier:int;
                                 private var speedVariMultiplier:int;
                                 private var speed:uint;
                                 private var speedVariation:uint;
                                 private var flakeRadius:Number;
                                 private var flakeColor:uint;
                                 private var drift:int;
                                 private var viewWidth:int;
                                 private var viewHeight:int;
   
                                 function SnowFlake(p_speed:int, p_flakeSize:Number, p_flakeColor:uint, p_speedVar:int, p_viewWidth:int, p_viewHeight:int)
                                 {
                                                 speedMultiplier = p_speed;
                                                 speedVariMultiplier = p_speedVar;
                                                 speed = Math.random()*speedMultiplier;
                                                 speedVariation = Math.random()*speedVariMultiplier+1;
                                                 flakeRadius = p_flakeSize/2;
                                                 flakeColor = p_flakeColor;
                                                 drift = getDrift();
                                                 viewWidth = p_viewWidth;
                                                 viewHeight = p_viewHeight;
   
                                                 drawFlake();
                                                 setSpeed(speed);
                                                 readyFlake();
                                                 moveMe();
                                 }
                                 
                                 private function drawFlake():void
                                 {
                                                 graphics.beginFill(flakeColor, 1);
                                                 graphics.drawCircle(0, 0, flakeRadius);
                                                 graphics.endFill();
                                 }
   
                                 private function setSpeed(n:uint):void
                                 {
                                                 this.speed = (n * speedVariation)+1;
                                 }
   
                                 private function readyFlake():void
                                 {
                                                 this.y = Math.random()*viewHeight*-1;
                                                 this.x = Math.random()*viewWidth;
                                                 var bf:BlurFilter = new BlurFilter(drift*2,speed/2,2);
                                                 this.filters = [bf];
   
                                                 if(speed/2 < speedVariation)
                                                 {
                                                                 this.scaleX = this.scaleY = .5;
                                                 }
                                 }
   
                                 private function getDrift():int
                                 {
                                                 var myDrift = Math.random()*3;
                                                 var driftDirection:int = Math.random()*10;
                                                 
                                                 if(driftDirection < 5)
                                                 {
                                                                 myDrift *= -1;
                                                 }
                                                 
                                                 return myDrift;
                                 }
   
                                 private function moveMe():void
                                 {
                                                 this.addEventListener(Event.ENTER_FRAME,everyFrame);
                                 }
   
                                 private function everyFrame(event:Event):void
                                 {
                                                 this.y += speed;
                                                 this.x += drift;
                                                 
                                                 if (this.y > viewHeight || this.x < 0 || this.x > viewWidth)
                                                 {
                                                                 readyFlake();    
                                                 }
                                 }
                  }
  }
Ok…a questo punto ci creiamo un .fla:

sceglietevi una qualsiasi dimensione dello stage, esempio 500x500 di colore scuro, frame di 30f/s.
Creiamo due bottoni ed con istanze: begin_btn e end_btn.
Sul primo e unico fotogramma nel pannello azioni andiamo a scrivere:

Code:
 import SnowStorm;
  var snowStorm:SnowStorm = new SnowStorm();
  addChild(snowStorm);
  begin_btn.addEventListener(MouseEvent.CLICK, beginSnowFall);
  end_btn.addEventListener(MouseEvent.CLICK, endSnowFall);
  function beginSnowFall(event:MouseEvent):void
  {
   snowStorm.begin(10);
  }
   
  function endSnowFall(event:MouseEvent):void
  {
   snowStorm.end(10);
  }
Pubblicate l’swf e interagite con i bottoni creati….dimenticavo….
copritevi bene!

Last edited by Flep; 14-12-07 at 08:15..
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #2 (permalink)  
Old 14-12-07, 07:29
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,535
Rep Power: 6
Flep is on a distinguished road
Re: Un po' di neve...

Ciao DMan e benvenuto

Grazie della risorsa messa a disposizione, ci voleva proprio per il Natale... dato che non ho neanche il tempo di respirare mi hai fatto un grosso regalo.

Se vuoi scrivere il tutorial sarò lieto di pubblicarlo nella homepage di FlepStudio.
Per la traduzione in inglese se vuoi ci penso io.
Fammi sapere
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 14-12-07, 09:19
tem's Avatar
tem tem is offline
Moderator
 
Join Date: Jan 1970
Posts: 493
Rep Power: 40
tem is on a distinguished road
Re: Un po' di neve...

Ciao !
e grazie!

purtroppo però mancava un metodo: SnowStorm.end chiamato da endSnowFall

ho aggiunto quello che mancava, rimosso un pò di metodi inutilizzati e creato un esempio..

link: http://www.thetconcept.com/blog/download/SnowClass.zip

ringrazierei anche PixelFumes per il movimento della neve visto che sembra provenire da lui..
(si merita almeno un link no? =)
Pixelfumes Flash Blog: Actionscript 3 Snow Storm Class

a chi interessasse sul suo blog è presente la classe anche per As2.0

A presto!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 14-12-07, 09:22
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,535
Rep Power: 6
Flep is on a distinguished road
Re: Un po' di neve...

Grazie tem

Come sempre allego il tuo ZIP quì sul forum
Attached Files
File Type: zip SnowClass.zip (12.2 KB, 48 views)


Last edited by Flep; 13-05-08 at 20:02..
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 14-12-07, 11:21
DMan's Avatar
Junior Member
 
Join Date: Dec 2007
Posts: 3
Rep Power: 0
DMan is on a distinguished road
Re: Un po' di neve...

Certo Thanks to PixelFumes...
DMan (PFmember)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 14-12-07, 12:32
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,535
Rep Power: 6
Flep is on a distinguished road
Re: Un po' di neve...

Sei un membro di PixelFumes ?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 14-12-07, 16:50
DMan's Avatar
Junior Member
 
Join Date: Dec 2007
Posts: 3
Rep Power: 0
DMan is on a distinguished road
Re: Effetto neve Flash CS3

Ops...scusa il ritardo....Si. Ho un altro nick...ma si.
Sto preparando una bella cosa per fine anno...spero di riuscire a finirla...altrimenti...sarà per la befana...ha..
Scherzi a parte...penso che la posterò solo su FlepS....quando ho qualcosa di pronto prima te invio come PM...
DMan...
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old 15-12-07, 02:54
tem's Avatar
tem tem is offline
Moderator
 
Join Date: Jan 1970
Posts: 493
Rep Power: 40
tem is on a distinguished road
Re: Effetto neve Flash CS3

Beh che dire .. così incuriosisci ... credo ... tutti!!

già questa classe era sugosa,,,,,

che dire .. A presto!!

=)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #9 (permalink)  
Old 16-12-07, 17:37
Junior Member
 
Join Date: Jan 1970
Posts: 27
Rep Power: 0
dalis84 is on a distinguished road
Re: Effetto neve Flash CS3

lol
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #10 (permalink)  
Old 03-12-08, 18:14
Junior Member
 
Join Date: Dec 2008
Posts: 1
Rep Power: 0
kuro80 is on a distinguished road
Re: Effetto neve Flash CS3

Salve amici, mi chiamo rosario sono nuovo di questo forum, sentite scusate la mia incapacita a usare flash, io ho un piccolo portale creato con joomla, vorei tanto farlo diventare stile natalizio e girovagando per caso ho avuto la fortuna di trovare questo forum, con persone molto competenti, io ho scaricato i due file ma come si mettono su joomla?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads

Thread Thread Starter Forum Replies Last Post
Effetto acqua con Flash CS3 Flep Articoli e tutorials 9 04-01-09 19:08
Effetto scìa con Flash CS3 Flep Articoli e tutorials 3 03-03-08 15:02
Effetto in flash charangparm Flash CS3 Design 2 27-02-08 19:17
Effetto specchio con flash CS3 theboss280489 Flash Italiano 3 10-02-08 19:04
Effetto flash manTiz Actionscript 3.0 base 4 24-07-07 00:44


All times are GMT. The time now is 16:57.

Powered by vBulletin version 3.7.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC4
Forum SiteMap