Comunidad de diseño web y desarrollo en internet online

ayuda con eje de coordenadas

Citar            
MensajeEscrito el 24 Sep 2008 12:20 am
Miren, quiero hacer un programa que forme una figura de un hombre con solamente 10 puntos y que le sigan las lineas...no se si me entienden...Bueno me explico mejor,uno para crear un punto en el espacio tiene que tener 2 valores(x,y),yo lo que quiero es pedir esos valores al usuario desde una caja de texto,para que me cree los 10 puntos necesarios para formar la figura del hombre...El problema es que me crea los diez puntos,pero me eje de coordenadas me aparece al reves,osea la figura del hombre estaria patas arriba...quisiera que me ayuden,lo que quiero es crear mi eje de coordenadas en el centro de la pelicula...GRACIAS :P

Por Elico

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Sep 2008 09:29 am
Postea el código utilizado, si no se sabe como lo tienes hecho es muy difícil decirte que tienes que añadir o cambiar.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 24 Sep 2008 07:02 pm
bueno...el codigo me lo baje de la pagina [url=http://livedocs.adobe.com/flash/9.0_es/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000994.html]
bueno en el primer fotograma pongo el sgte codigo:

Código :

//me creo dos arrays para almacenar los valores de (x,y)
var dibujox:Array=new Array();
var dibujoy:Array=new Array();
//procedimiento con el boton
boton_btn.onRelease=function(){
//una de mis caja de texto se llama piesx_txt
dibujox.push((piesx_txt.text)*10);//lo mult. (*10) para q mis puntos no esten muy cerca de mi eje de coordenadas
//la otra caja de texto se llama piesy_txt
dibujoy.puhs((piesy_txt.text)*10);
/*y asi sucesivamente tengo varias de texto pidiendo datos (x,y)de la rodilla,de la cadera,etc.para que en cada articulacion me cree puntos*/
gotoAndStop(2);//va al fotograma 2
}


ahora en el siguiente fotograma pongo el codigo que me descarge de la pagina que les di:

Código :

this.createEmptyMovieClip("circle_mc", 10);
circle_mc._x = dibujox[0];//aqui es lo unico que modifico poniendo los valores de piex
circle_mc._y = dibujoy[0];//aqui lo propio
drawCircle(circle_mc, 100, 0x99FF00, 100);

function drawCircle(target_mc:MovieClip, radius:Number, fillColor:Number, fillAlpha:Number):Void {
    var x:Number = radius;
    var y:Number = radius;
    with (target_mc) {
        beginFill(fillColor, fillAlpha); 
        moveTo(x + radius, y);
        curveTo(radius + x, Math.tan(Math.PI / 8) * radius + y, Math.sin(Math.PI / 4) * radius + x, Math.sin(Math.PI / 4) * radius + y);
        curveTo(Math.tan(Math.PI / 8) * radius + x, radius + y, x, radius + y);
        curveTo(-Math.tan(Math.PI / 8) * radius + x, radius+ y, -Math.sin(Math.PI / 4) * radius + x, Math.sin(Math.PI / 4) * radius + y);
        curveTo(-radius + x, Math.tan(Math.PI / 8) * radius + y, -radius + x, y);
        curveTo(-radius + x, -Math.tan(Math.PI / 8) * radius + y, -Math.sin(Math.PI / 4) * radius + x, -Math.sin(Math.PI / 4) * radius + y);
        curveTo(-Math.tan(Math.PI / 8) * radius + x, -radius + y, x, -radius + y);
        curveTo(Math.tan(Math.PI / 8) * radius + x, -radius + y, Math.sin(Math.PI / 4) * radius + x, -Math.sin(Math.PI / 4) * radius + y);
        curveTo(radius + x, -Math.tan(Math.PI / 8) * radius + y, radius + x, y);
        endFill();
    }
}


bueno como les dije que mi eje de coordenadas me toma de la esquina izquierda de arriba...y quiero que me tome de
la esquina izquierda pero de abajo...si me ayudaran o me orientaran como haria, quedaria muy agradecio.

Por Elico

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Sep 2008 09:13 pm
La función que tienes para crear el círculo, no lo crea a partir del centro, si le dices un círculo en (0, 0) lo crea haciendo que los ejes coordenados queden como tangente.

Si lo deseas utiliza esta función, le debes mandar el centro del círculo como parámetro y te creará el círculo tomando como centro las coordenadas que le envíes:

Código ActionScript :

function drawCircle(movie:MovieClip, posX:Number, posY:Number, radio:Number, fillColor:Number, fillAlpha:Number):Void {

   var c1:Number = (Math.SQRT2 - 1) * radio;
   var c2:Number = Math.SQRT2 / 2 * radio;

   movie.beginFill(fillColor, fillAlpha);
   movie.moveTo(posX + radio,posY);
   movie.curveTo(posX + radio,posY + c1,posX + c2,posY + c2);
   movie.curveTo(posX + c1,posY + radio,posX,posY + radio);
   movie.curveTo(posX - c1,posY + radio,posX - c2,posY + c2);
   movie.curveTo(posX - radio,posY + c1,posX - radio,posY);
   movie.curveTo(posX - radio,posY - c1,posX - c2,posY - c2);
   movie.curveTo(posX - c1,posY - radio,posX,posY - radio);
   movie.curveTo(posX + c1,posY - radio,posX + c2,posY - c2);
   movie.curveTo(posX + radio,posY - c1,posX + radio,posY);
   movie.endFill();

}


Ajhora lo que quieres con los ejes coordenados se resuelve muy sencillo, utiliza esta función:

Código ActionScript :

function transformYCord(numero:Number):Number{
   
   var alto:Number = Stage.height;
   return (alto - numero);
   
}


Si quisiera crear un círculo en los (0, 0) pero que este esté situado en la esquina inferior izquierda le digo esto:

Código ActionScript :

this.createEmptyMovieClip("circle_mc", 10);
drawCircle(this.circle_mc, 0, transformYCord(0), 100, 0x99FF00, 100);

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 25 Sep 2008 04:44 pm
Muchas gracias por la informacion....de varas que esta web es super no? :lol:

Por Elico

28 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.