/ Published in: ActionScript 3
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
//Función valor absoluto function abs( value:Number ):Number { return value < 0 ? -value : value; } //Funcion que se ejecuta cuando se pulsa el botón del ratón function drag(event:MouseEvent):void { leyenda.visible=false; letrero.visible = false; event.currentTarget.startDrag(); centro.visible = true; destino.addEventListener(MouseEvent.MOUSE_MOVE, updateAfterEvent); } //Funcion que se ejecuta cuando se dejde pulsar el botón del ratón function drop(event:MouseEvent):void { event.currentTarget.stopDrag(); leyenda.visible=true; destino.removeEventListener(MouseEvent.MOUSE_MOVE, updateAfterEvent); actualizarPunto(); dibujarCirculo(); } //Funcion que se ejecuta cuando se pulsa el botón del ratón y se mueve function updateAfterEvent(event:MouseEvent):void{ actualizarPunto(); dibujarCirculo(); textoCentro.text = "Centro: (0, "+centroY.toFixed(0)+")"; textoAngulo.text = "Angulo de giro: "+angulo.toFixed(1); } //Dibuja el circulo function dibujarCirculo(){ mc.graphics.clear(); mc.graphics.lineStyle(1,0xFFFFFF); mc.graphics.drawCircle(centroY*-1+250,150,radio); } //Calcula posición del centro y el ángulo de giro function actualizarPunto(){ pX = 150-destino.y; pY = (destino.x-250)*-1; texto.text = "Destino: ("+pX.toFixed(0)+", "+pY.toFixed(0)+")"; if (pX!=0){ centroY = (pX*pX+pY*pY)/(2*pY); }else{ centroY = 0; } sacaAngulo(); centro.x=centroY*-1+250; centro.y = 150; radio = abs(centroY); } function sacaAngulo(){ var destY:Number= pY-centroY; angulo = (Math.atan(destY/pX))*(180/Math.PI); //Primer y segundo cuadrante if (pX>=0 && pY<0) angulo=angulo+360; //Segundo cuadrante else if (y>0) angulo=angulo+180; else angulo=angulo+180; if(pY==0){ angulo=5; }else if(pY>0){ angulo+=90; }else{ angulo=360-angulo+90; } } destino.addEventListener(MouseEvent.MOUSE_DOWN, drag); destino.addEventListener(MouseEvent.MOUSE_UP, drop); var angulo:Number = 0; var pX:Number = 150-destino.y; var pY:Number = (destino.x-250)*-1; var mc:MovieClip = new MovieClip(); var centroY:Number = 0; var radio:Number = 0; centro.visible = false; leyenda.visible = false; texto.mouseEnabled = false; textoCentro.mouseEnabled = false; textoAngulo.mouseEnabled = false; destino.buttonMode = true; actualizarPunto(); dibujarCirculo(); this.addChildAt(mc, 0);
Comments
Subscribe to comments
