Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/06/2010, 13:46
evo_it
 
Fecha de Ingreso: mayo-2010
Ubicación: Argentina
Mensajes: 61
Antigüedad: 14 años
Puntos: 6
Busqueda Respuesta: Transformación libre de Movie Clips

Bueno vamos por parte:

Tu código debería (según mi parecer) tener los siguientes eventos:

PASO 1 - Iniciar dibujo (el usuario dice "bueno voy a hacer clic acá para comenzar a dibujar mi polígono"). Esto sería dibujar dentro de un clip que oficiaría de lienzo de dibujo.

PASO 2
- Marcar los puntos

PASO 3 - Marcar último punto (esto sería al hacer clic sobre el icono nuevamente.)


Bien pasamos al código, definiremos algunas funciones que luego usarás, llamándolas desde botones, en el escenario tendremos un clip que usaremos como incono (icono_mc) y otro que usaremos como lienzo (miLienzo_mc):

Código actionscript:
Ver original
  1. ///PASO 1: a esta función la llamaremos cuando comencemos a dibujar
  2. function comenzarDibujo(lienzo_mc:MovieClip)
  3. {
  4.         this.createEmptyMovieClip("clipVacio_mc", this.getNextHighestDepth());
  5.         clipVacio_mc._x=lienzo_mc._x;
  6.         clipVacio_mc._y=lienzo_mc._y;
  7.         clipVacio_mc.beginFill(0xFF0000);
  8.         _global.numeroPunto=1;
  9. }
  10.  
  11. //PASO 2: aquí dibujamos los puntos
  12. function dibujarPunto(lienzo_mc:MovieClip,posX:Number, posY:Number)
  13. {
  14.        if(_global.numeroPunto==1)
  15.        {
  16.          clipVacio_mc.moveTo(posX, posY);
  17.        }
  18.        else
  19.        {
  20.            clipVacio_mc.lineTo(posX, posY);
  21.        }
  22.        _global.numeroPunto++;
  23. }
  24. //PASO 3: terminar dibujo
  25. function terminarDibujo(lienzo_mc:MovieClip)
  26. {
  27.         lienzo_mc.enabled=false;
  28.         clipVacio_mc.endFill();
  29. }
  30.  
  31. _global.numeroPunto=0;
  32. miLienzo_mc.enabled=false;
  33. //eventos de botones
  34. icono_mc.onRelease=function()
  35. {
  36.     if(!_global.numeroPunto)
  37.     {
  38.         miLienzo_mc.enabled=true;
  39.         comenzarDibujo(this._parent.miLienzo_mc)
  40.     }
  41.     else
  42.     {
  43.         miLienzo_mc.enabled=false;
  44.         terminarDibujo(this._parent.miLienzo_mc)  
  45.     }    
  46. }
  47.  
  48. miLienzo_mc.onRelease=function()
  49. {
  50.     dibujarPunto(this, this._xmouse, this._ymouse)
  51. }


Con eso tienes para empezar, luego le deberás agregar tú solo detalles...


Saludos