Flash Script - Falling Snow Effect

This is an article discussion thread for discussing the SitePoint article, “Flash Script - Falling Snow Effect

  1. Now go back to the main timeline, and create three key frames in this layer.

  2. Insert these actions into the first key frame:

snowparticles = 0;
i = 0;

  1. Insert this action into the second key frame:

if (snowparticles<150)
{
duplicateMovieClip(“snow”,“snow” add i,i)
scale=random(60)+10
setProperty(“snow” add i,_x,random(450))
setProperty(“snow” add i,_xscale,scale)
setProperty(“snow” add i,_yscale,scale)
snowparticles++
i++
}

  1. Insert this action into the third key frame:

gotoAndPlay (2);

why does the snow dissappear after a while?

In the snow movieclip’s 2nd keyframe, replace the first line of code with these lines:

flakespeed = getProperty(“”, _xscale) / 15;
setProperty (“”, _y, mov=mov+flakespeed);

It will make the snowflakes fall at different speeds, depending on their size. Smaller flakes fall slower, creating a 3d-ish effect. Increase 15 to something bigger to slow things down, and likewise decrease it to speed snowflakes up.

I’m using this little script for an xmas ad right now :slight_smile: The snow disappears to the right after some time due to this code:

ran = ran - 10;

Just remove this line and the snow should start at the top of the screen again.

I’m still having problems with some flickering in the top section of the window.

I replaced this:
setProperty (“”, _y, 50);
with this:
setProperty (“”, _y, 0);

and that seemed to help.

Wonder why… :slight_smile:

you might also want to check out this snow tutorial :slight_smile:

plus… the sitepoint one is a older, so the actionscript is a bit out dated…

um… can’t u just give us the code???

this is the one to use

this is the worst snow i have seen all day

this is all good but wat we need to see is more snow and mountains all full with ice.

i’m not a big expert at flash… but… can’t i use other animations, like zooming an object, while snow is falling??

plz reply thk u

That’s nice.

Here’s a more modern as3 version that requires a snowflake movieclip in the library with ‘export for actionscript’ linkage class set to snowflake:

var snowarr = new Array();
var maxflakes:int = 60;

for(var s:int = 0; s<maxflakes; s++)
{
var sf:snowflake = new snowflake();
addChild(sf as DisplayObject);
sf.x = Math.random()*stage.stageWidth;
sf.y = 0-Math.random()stage.stageWidth;
var snowsize:Number = .3+(Math.random()
.6);
sf.scaleX = sf.scaleY = sf.snowsize = snowsize;
snowarr.push(sf);
sf.cacheAsBitmap = true;
}

function updateFlakes(event:Event):void
{
for(var f:int = 0; f<maxflakes; f++)
{
snowarr[f].y+=snowarr[f].snowsize*4;
if(snowarr[f].y>stage.stageHeight)
{
snowarr[f].y-=stage.stageHeight+20;
}
}
}

addEventListener(Event.ENTER_FRAME, updateFlakes);