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///PASO 1: a esta función la llamaremos cuando comencemos a dibujar
function comenzarDibujo(lienzo_mc:MovieClip)
{
this.createEmptyMovieClip("clipVacio_mc", this.getNextHighestDepth());
clipVacio_mc._x=lienzo_mc._x;
clipVacio_mc._y=lienzo_mc._y;
clipVacio_mc.beginFill(0xFF0000);
_global.numeroPunto=1;
}
//PASO 2: aquí dibujamos los puntos
function dibujarPunto(lienzo_mc:MovieClip,posX:Number, posY:Number)
{
if(_global.numeroPunto==1)
{
clipVacio_mc.moveTo(posX, posY);
}
else
{
clipVacio_mc.lineTo(posX, posY);
}
_global.numeroPunto++;
}
//PASO 3: terminar dibujo
function terminarDibujo(lienzo_mc:MovieClip)
{
lienzo_mc.enabled=false;
clipVacio_mc.endFill();
}
_global.numeroPunto=0;
miLienzo_mc.enabled=false;
//eventos de botones
icono_mc.onRelease=function()
{
if(!_global.numeroPunto)
{
miLienzo_mc.enabled=true;
comenzarDibujo(this._parent.miLienzo_mc)
}
else
{
miLienzo_mc.enabled=false;
terminarDibujo(this._parent.miLienzo_mc)
}
}
miLienzo_mc.onRelease=function()
{
dibujarPunto(this, this._xmouse, this._ymouse)
}
Con eso tienes para empezar, luego le deberás agregar tú solo detalles...
Saludos