FlashCS4 in the production of beautiful bubble animation, is an examination of the test, this article on the **FlashCS4 in the production of beautiful bubble animation** tutorial specifically elaborated for reading. Please read the following carefully!

**Detailed code:**

function Ball (R:int): MovieClip {//Custom function ball, parameter R, integer type, return value is MovieClip

var col:uint=0xffffff*math.random ()//declares an unsigned integer variable col to get any color

var sh:movieclip=new MovieClip ()//Declare a movie clip class instance sh

Sh.graphics.beginGradientFill (Gradienttype.radial, [0xffffff,col,col],[0.5,1,1],[0,200,255]);//Set gradient fill style in sh ( Radial gradient, color, transparency, color block position)

Sh.graphics.drawCircle (0,0,r)//Draw circle in SH (center coordinate (0,0), radius is parameter R)

Sh.graphics.endFill ()//End Fill

return sh;//SH

}

Var ballarr:array=[];//declares an empty array Ballarr

for (var i:int=0 i<10; i++) {//Create a For loop, loop 10 times

var balls:movieclip=ball (Math.random () *20+20)//Declaring a movie clip class instance balls, calling function ball (the random value of the parameter R radius value is 20-40)

AddChild (balls)//Add balls to display list

x coordinate of Balls.x=math.random () * (stage.stagewidth-balls.width) +balls.width/2;//balls

Balls.y=math.random () * (stage.stageheight-balls.height) +balls.height/2;//balls y-coordinate, which appears anywhere on the stage

Balls.vx=math.random () *2-1;//set custom properties for balls VX, a number of random numbers between 1-1, indicating the velocity in the X direction

Balls.vy=math.random () *2-1;//sets the custom attribute VY for balls, which is a random number between 1-1, indicating the speed of the Y direction

Ballarr.push (balls)//Add balls to array Ballarr

}

AddEventListener (event.enter_frame,frame);//Add frame-frequency event listening, calling function frame

function Frame (e) {//define Frame frequency event function frame

for (Var i:int=0 i

var balls:movieclip=ballarr[i];//declares a movie clip class instance balls, gets the elements of the array Ballarr

The x-coordinate of balls.x+=balls.vx;//balls increases each frame BALLS.VX

The y-coordinate of the balls.y+=balls.vy;//balls increases each frame Balls.vy

if (balls.x

Balls.x=balls.width/2;//balls's x coordinates get half the balls width

BALLS.VX*=-1;//BALLS.VX to get its opposite number

}

if (BALLS.X>STAGE.STAGEWIDTH-BALLS.WIDTH/2) {//If alls out of the right edge of the stage

Balls.x=stage.stagewidth-balls.width/2;//balls's X coordinate gets the difference between the scene width and the balls width half

BALLS.VX*=-1;//BALLS.VX to get its opposite number

}

if (balls.y

Balls.y=balls.height/2;//balls's y-coordinate gets half the balls height.

Balls.vy*=-1;//balls.vy to get its opposite number

}

if (BALLS.Y>STAGE.STAGEHEIGHT-BALLS.HEIGHT/2) {//If balls out of the stage below the edge

Balls.y=stage.stageheight-balls.height/2;//balls y coordinates to get the difference between the stage height and the balls height half

Balls.vy*=-1;//balls.vy to get its opposite number

}

}

For (Var j:int=0 j

var ball0:movieclip=ballarr[j];//declares a movie clip class instance ball0, gets the elements of the array Ballarr

For (Var m:int=j+1 m

var ball1:movieclip=ballarr[m];//declares a movie clip class instance ball1, gets the elements of the array Ballarr

Var dx:number=ball1.x-ball0.x;//declares a numeric variable dx, obtaining

Var dy:number=ball1.y-ball0.y;//declares a numeric variable dy, which gets

var jl:number=math.sqrt (Dx*dx+dy*dy)//Declare a numeric variable JL, get the distance of the ball

var qj:number=ball0.width/2+ball1.width/2;//declares a numerical variable to obtain the sum of the sphere radius

if (JL<=QJ) {//If JL is less than or equal to QJ

var angle:number=math.atan2 (DY,DX)//declares a numeric variable angle to obtain BALL1 's angle relative to Ball0

var tx:number=ball0.x+math.cos (angle) *qj*1.01;//declares a numeric variable, TX, to obtain the x-coordinate of the target point

var ty:number=ball0.y+math.sin (angle) *qj*1.01;//declares a numeric variable, ty, to get the y-coordinate of the target point

ball0.vx=-(tx-ball1.x);//ball0 speed in the x direction

ball0.vy=-(ty-ball1.y);//ball0 velocity in the y direction

ball1.vx= (tx-ball1.x);//ball1 speed in the x direction

Ball1.vy= (ty-ball1.y);//ball1 velocity in the y direction

Small series for everyone to edit the ** FlashCS4 in the production of beautiful bubble animation ** hope to help!