Selteco.com > FlashDesignerZONE.com > Tutorials > T1059

Create flying hearts effect.

flying heart

Download source project t1059.zip (2 kb)

  1. Launch Flash Designer and set movie dimensions 500 x 500 (or any desired).
  2. Change frame delay to “Stop”.
  3. Add new frame, change “Frame 1” to “Master Frame (1)”
  4. Go to “Frame 1”, select “Master Frame (1)” as the background:

Create a heart

  1. Go to “Frame 1”
  2. Choose “Insert” > “Shape or Line” and select “Heart”
  3. Fill it with radial gradient (center color orange, outer color red), resize it to 52×37 pixels
  4. Convert it to sprite (“Edit” > “Convert to Sprite”)
  5. Rename it to “heart” and check “ActionScript Target” under “Item” > “Placement Properties”
  6. Move the sprite outside visible areaheart

Create background

  1. Go to “Master Frame (1)”
  2. Choose “Insert” > “Shape or Line” and select “Heart”
  3. Fill it with vertical gradient, top color light red, bottom color dark red
  4. Duplicate, enlarge and position both hearts to create the backgroundtwo heart

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”:

create layer

get flash