Download the source here
- Launch Flash Designer and set movie dimensions 500 x 500 (or any desired).
- Change frame delay to “Stop”.
- Add new frame, change “Frame 1″ to “Master Frame (1)”
- Go to “Frame 1″, select “Master Frame (1)” as the background:
Create a heart
- Go to “Frame 1″
- Choose “Insert” > “Shape or Line” and select “Heart”
- Fill it with radial gradient (center color orange, outer color red), resize it to 52×37 pixels
- Convert it to sprite (“Edit” > “Convert to Sprite”)
- Rename it to “heart” and check “ActionScript Target” under “Item” > “Placement Properties”
- Move the sprite outside visible area
Create background
- Go to “Master Frame (1)”
- Choose “Insert” > “Shape or Line” and select “Heart”
- Fill it with vertical gradient, top color light red, bottom color dark red
- Duplicate, enlarge and position both hearts to create the background

Add ActionScript:
Go to “Frame 1″, choose “Frame” > “ActionScript” and paste the code:
maxhearts = 100;
var hearts = new Array();
for(i=0;i<maxhearts;i++)
{
hearts[i] = heart.duplicateMovieClip(“heart”+i,100+i);// put it in random place
hearts[i]._x = Stage.width*Math.random();
hearts[i]._y = Stage.height*Math.random();
hearts[i]._xscale = 40+Math.random()*60;
hearts[i]._yscale = hearts[i]._xscale;hearts[i].yspeed = Math.random()*4+ 1;
hearts[i].increment = -0.025+Math.random()*0.05;
hearts[i].onEnterFrame = function() {
this.radians = this.increment + this.radians;
this._y = this._y – this.yspeed;
this._x = Math.sin(this.radians) + this._x;
if (this._y<-20) {
this._y = Stage.height;
this._x = 0-10+Math.random()*Stage.width;
}
}
}
Hit F9 for preview.
INFO: to place an object in front of hearts, select it, choose “Item” > “Placement Properties” and change the layer to higher value, for example “Layer 3″:






January 7, 2010
Actionscript 3.0 Tutorial