Revision: 25288
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at March 25, 2010 15:04 by Maverick_ex
Initial Code
//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);
Initial URL
Initial Description
Initial Title
Trayectoria curva
Initial Tags
Initial Language
ActionScript 3