Esta muy bien me ha gustado en todos los sentidos, y gracias por el codigo.
Saludos agradecidos

El día 18/10/07, Ivan <[EMAIL PROTECTED]> escribió:
>
> Bueno, te he limpiado el codigo todo lo que he podido, el resultado es
> algo
> asi
>
> http://extranet.netthink.es/festivales/esp/adidas/dibuja/roba_300x250_layer
> En lugar de dibujar una linea con la api de dibujo de Flash, tengo un clip
> en la biblioteca con una linea horizontal alineada a la izquierda (como la
> aguja de las 3 en un reloj).
> Tambien hay un botonazo transparente que ocupa todo el escenario llamado
> zona, que activa y desactiva el pintado.
> En en (0,0) del escenario hay un clip vacio que utilizo como contenedor de
> toooodos los tramos de linea.
> Se que es un poco lioso, pero el resultado es muy bonito y fluido.
> Un saludo.
>
>
>
>
> import mx.transitions.*;
> import mx.transitions.easing.*;
> import mx.utils.Delegate;
> //
> var umbral:Number = 5;
> var limN2:Number = 150;
> var contenedor:MovieClip = vacio.createEmptyMovieClip("cont", 1);
> var ptoAnterior:Object = {x:_xmouse, y:_ymouse};
> var ptoActual:Object = {x:_xmouse, y:_ymouse};
> var n1:Number = 0;
> var n2:Number = 0;
> var primeraVez:Boolean = true;
> var numR:Number = 40;
> var pulsado:Boolean = false;
> this.onMouseMove = miOnMouseMove;
> function dibujarLinea() {
> var a:Number = ang(ptoAnterior, ptoActual);
> var lineaTemp:MovieClip = contenedor.attachMovie("linea", "l_"+n2, n2);
> lineaTemp._x = ptoAnterior.x;
> lineaTemp._y = ptoAnterior.y;
> lineaTemp.linea._width = dist(ptoAnterior, {x:_xmouse, y:_ymouse});
> lineaTemp._rotation = a;
> numR *= 0.7;
> n2++;
> if (n2>limN2) {
>   n2 = 0;
> }
> ptoAnterior = {x:_xmouse, y:_ymouse};
> }
> function miOnMouseMove() {
> ptoActual = {x:_xmouse, y:_ymouse};
> if (pulsado == true) {
>   if (dist(ptoAnterior, ptoActual)>umbral) {
>    dibujarLinea();
>   }
> }
> }
> function iniTrazo() {
> if (primeraVez) {
>   primeraVez = false;
>   ptoAnterior = {x:_root._xmouse, y:_root._ymouse};
> }
> estadoLinea(1);
> pulsado = true;
> ptoAnterior = {x:_xmouse, y:_ymouse};
> ptoPulsado = {x:_xmouse, y:_ymouse};
> }
> function finTrazo() {
> if (pulsado == true) {
>   pulsado = false;
>   estadoLinea(2);
> }
> }
> function dist(pto1:Object, pto2:Object):Number {
> var dX:Number = pto2.x-pto1.x;
> var dY:Number = pto2.y-pto1.y;
> var d:Number = Math.sqrt(dX*dX+dY*dY);
> return d;
> }
> function ang(pto1:Object, pto2:Object):Number {
> var dX:Number = pto2.x-pto1.x;
> var dY:Number = pto2.y-pto1.y;
> var a:Number = Math.atan2(dY, dX);
> a = a*180/Math.PI;
> if (a<0) {
>   a += 360;
> }
> return a;
> }
> //
> zona.onPress = iniTrazo;
> zona.onRelease = zona.onReleaseOutside=finTrazo;
>
>
>
>
> -----------------------------------------------------
> ASNativos
> www.5dms.com
> subscripciones/desubscripciones
> http://asnativos.5dms.com
> -----------------------------------------------------
>
-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------

Responder a