class Water { /************************************************************************* OPTIONAL CONSTRUCTOR PARAMETERS sq : sets the amount of influence points referenced in simulation - default is 5. r_ : sets the number of lines the surface is divided into - default is 20. *************************************************************************/ private var body:Array; private var clip:MovieClip, dc:MovieClip; private var x:Number, y:Number, w:Number; private var resolution:Number; private var simQuality:Number; private static var dampening:Number = .95; private static var viscosity:Number = 50; public function Water(x_:Number, y_:Number, w_:Number, c_:MovieClip, sq:Number, r_:Number) { body = []; clip = c_; dc = clip.createEmptyMovieClip("dc", 1); x=x_, y=y_, w=w_; setQuality(sq, r_); buildBodyOfWater(); } private function buildBodyOfWater() { for( var i=-1; ++i<=resolution; ) { body.push( {x:x+w/resolution*i, y:y, vy:0, oy:y} ); } setControls(this); } private function addSplash(n:Number, force:Number) { body[n].vy += force; var base:Number = Number(n); var diff:Number = force/simQuality; for( var i=0; ++i