Comunidad de diseño web y desarrollo en internet online

paint en as3 Enloquecio

Citar            
MensajeEscrito el 24 Jun 2011 07:38 pm
Hola
tengo un sencillo paint:

Código ActionScript :

var square:MovieClip = new MovieClip();
square.graphics.beginFill(0xFF);
square.graphics.drawRoundRect(0, 0, 300, 150, 10, 10);
square.graphics.endFill();
addChild(square);


function drawLine(args:MouseEvent)
{
square.graphics.lineStyle(2, 0x000000);
square.graphics.lineTo(args.localX, args.localY);
}
square.addEventListener(MouseEvent.MOUSE_DOWN, downMouse);
square.addEventListener(MouseEvent.MOUSE_UP, upMouse);
function downMouse(e:MouseEvent):void{
square.graphics.moveTo(e.stageX, e.stageY);
square.addEventListener(MouseEvent.MOUSE_MOVE, drawLine);
}
function upMouse(e:MouseEvent):void{
square.removeEventListener(MouseEvent.MOUSE_MOVE, drawLine);
}


funciona bien, pero cuando quiero reposicionar el square las lineas se dibujan hacia abajo, al final des stage, enloquecen

square.x=10;
square.y=500;

como lo posiciono sin que pase eso?

gracias

Por dianita666

Claber

185 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Jun 2011 08:11 pm
El inicio de la línea esta puesto sobre el espacio global porque ambos coinciden, al mover el cuadrado ya el espacio local deja de coincidir. Cambia esta línea dentro de downMouse>

de
square.graphics.moveTo(e.stageX, e.stageY);

a

square.graphics.moveTo(e.localX, e.localY);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Jun 2011 08:30 pm
Gracias Jorge!!!

y como borro lo dibujado??


asi:
square.graphics.clear();

borrro lo dibujado y el cuadro, quiero solo borrar el dibujo

ademas asi, despues de borrar no puedo volver a dibujar

Gracias

Por dianita666

Claber

185 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Jun 2011 08:30 pm
Tip: pon simplemente un cuadrado en otra capa, realmente el cuadrado azul de fondo no es necesario

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Jun 2011 08:34 pm
y como puedo volver a dibujar despues de borrar??

ya probe volviendo a poner los listeners en la funcion borra , pero nada

Por dianita666

Claber

185 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Jun 2011 08:42 pm
Vale, al vaciarlo desistancia graphics. Usa una función borrar así>

Código ActionScript :

function borra(evt:MouseEvent):void{
   square.graphics.clear();
   square.graphics.beginFill(0xFF);
   square.graphics.drawRoundRect(0, 0, 300, 150, 10, 10);
   square.graphics.endFill();
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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