Líneas flexibles y Repulsion (As3)
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 } } }
![[Dm211] [Dm211]](http://blog.dm211.com/wp-content/themes/mystique-extend/uploads/dm211_2k11_logoShaded_102.png)