This movie requires Flash Player 10

Descargar Source

/*
* Author: Anton Belyaev
* Email: beylaev@dm211.com
* Web: Dm211.com
* Note: THIS CLASS IS OPEN SOURCE, PLEASE DONT DELETE AUTHOR COMMENTS.
*
* All Classes are available on: http://code.google.com/p/dm211/
*/
package {
 
	import flash.display.*;
	import flash.events.*;
	import flash.ui.*;
	import dm211.effects.*;
	import dm211.util.*;
 
	public class main_flexibleLines_tester extends Sprite {
 
		private var lineDrawing:MovieClip;
		private var itemsArray:Array=new Array();
 
		public function main_flexibleLines_tester():void {
			//Create start or basic point
			//drawInit(__START POINT__,__END POINT__,__NUMBER OF END POINTS__);
			drawInit(start_mc,"end",11);
 
			//Listen Drag Start Point
			start_mc.addEventListener(MouseEvent.CLICK,startClick);
			start_mc.addEventListener(MouseEvent.ROLL_OVER,startOnRollOver);
			start_mc.addEventListener(MouseEvent.ROLL_OUT,startOnRollOut);
			start_mc.addEventListener(MouseEvent.MOUSE_DOWN,startOnMouseDownHandle);
			start_mc.addEventListener(MouseEvent.MOUSE_UP,startOnMouseUpHandle);
		}
 
		private function drawInit($startPoint:DisplayObject,$prefix:String,$num:Number):void {
			for (var i:Number=0; i< =$num; i++) {
				this[$prefix+i]._endObjPointX=this[$prefix+i].x;
				this[$prefix+i]._endObjPointY=this[$prefix+i].y;
				itemsArray.push(this[$prefix+i]);
				lineDrawing=new MovieClip();
				addChild(lineDrawing);
				lineDrawing.__startClip=$startPoint;
				lineDrawing.__endClip=this[$prefix+i];
				//set border of flexible lines in px
				globalVars.vars.lineDrawing_flex_border=1;
				//set color of flexible lines
				globalVars.vars.lineDrawing_flex_color=0x000000;
				//set alpha of flexibel lines
				globalVars.vars.lineDrawing_flex_alpha=0.2;
				lineDrawing.flex=new flexibleLines(0.3,lineDrawing.__startClip.x,lineDrawing.__startClip.y,lineDrawing.__endClip.x,lineDrawing.__endClip.y);
				lineDrawing.addEventListener(Event.ENTER_FRAME, enterFrameInit);
				addEventListener(Event.ENTER_FRAME, thisEnterFrame);
			}
		}
 
		private function thisEnterFrame(event:Event):void{
			//Ejecute repulsion function from dm211.effects.repulsion
			//repulsion(__START POINT__,__END POINTS ARRAY__,__DISTANCE__);
			new repulsion(start_mc, itemsArray,2);
		}
 
		private function enterFrameInit(event:Event):void {
			//remove old draws
			event.target.graphics.clear();
			//create realTime draws
			event.target.graphics.lineStyle(globalVars.vars["lineDrawing_flex_border"],globalVars.vars["lineDrawing_flex_color"],globalVars.vars["lineDrawing_flex_alpha"]);
			event.target.flex.addStartPoint(event.target.__startClip.x,event.target.__startClip.y);
			event.target.flex.addFinishPoint(event.target.__endClip.x,event.target.__endClip.y);
			event.target.flex.reDraw(event.target);
		}
 
		private function startClick(event:MouseEvent):void {
			//trace(event);
		}
 
		private function startOnMouseDownHandle(event:MouseEvent):void {
			event.target.startDrag();
			dispatchEvent(new Event(Event.CHANGE));
		}
 
		private function startOnMouseUpHandle(event:MouseEvent):void {
			event.target.stopDrag();
		}
 
		private function startOnRollOver(event:MouseEvent):void {
			//rollOver
		}
 
		private function startOnRollOut(event:MouseEvent):void {
			//rollOut
		}
	}
}