Comunidad de diseño web y desarrollo en internet online

Problema creando rectángulos dinámicamente

Citar            
MensajeEscrito el 16 Jun 2011 01:42 pm
Hola a todos, necesito crear rectángulos dinámicamente en FLASH y CS4.
El tema es que quiero que el rectángulo tiene que ir creciendo a medida que voy moviendo el ratón. Dicho rectángulo tiene el centro transparente y los bordes de color rojo.
Hasta el momento he hecho lo siguiente:

Código ActionScript :

private function onMouseDown(e:MouseEvent):void
{
   creatingRectangle = true;
   rectangleAdded = false;
   aux_mc = new MovieClip();
   rectangleX0 = this.mouseX;
   rectangleY0 = this.mouseY;
}
private function onMouseMove(e:MouseEvent):void
{
   if(creatingRectangle == true)
   {
      createRectangle(rectangleX0, rectangleY0, this.mouseX - rectangleX0, this.mouseY - rectangleY0);
   }
}
private function createRectangle(_x:Number, _y:Number, _w:Number, _h:Number):void
{
   aux_mc.graphics.beginFill(0xff0000, 0);
   aux_mc.graphics.lineStyle(2, 0x9c0e10, 1);
   aux_mc.graphics.drawRect(_x, _y, _w, _h);
   aux_mc.graphics.endFill();
      
   if(rectangleAdded == false)
   {
      rectContainer_mc.addChildAt(aux_mc, numRectanglesCreated);
      rectangleAdded = true;
   }
   else
   {
      rectContainer_mc.removeChild(aux_mc);
      rectContainer_mc.addChildAt(aux_mc, numRectanglesCreated);
   }
}

Como se puede ver, esto crea perfectamente los rectángulos, el problema es que no me elimina los anteriores, entonces se van viendo los rectángulos más pequeños.
Alguien sabe como puedo hacerlo para eliminar los rectángulos anteriores y quedarme sólo con el último?

Muchas gracias

Por Palacio

Claber

198 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Jun 2011 02:29 pm
De donde copiaste ese codigo? nos sera mas facil entender el objetivo original para luego ayudarte a editarlo segun tus necesidades.

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox
Citar            
MensajeEscrito el 16 Jun 2011 02:51 pm
Hola Acreonte, a ver si puedo explicarme mejor.
Quiero crear rectángulos en mi stage con el ratón.
Estos rectángulos tienen que ser transparentes por dentro y sólo ser visible el borde.
Lo que quiero es que el rectángulo se vaya creando a medida que desplazo el ratón por mi stage.
Entonces había pensado en cada vez que muevo el ratón elimino el rectángulo que hay en mi stage y creo uno nuevo, dando la sensación que el rectángulo crece.

Puedes decirme como lo harías?
Muchas gracias

Por Palacio

Claber

198 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Jun 2011 03:27 pm
He hecho una prueba con tu codigo y solo elimine algunas cosas que considere innecesarias, especialmente en la funcion createRectangle:

Código ActionScript :

private function createRectangle(_x:Number, _y:Number, _w:Number, _h:Number):void 
{ 
   aux_mc.graphics.clear();
   aux_mc.graphics.beginFill(0xff0000, 0); 
   aux_mc.graphics.lineStyle(2, 0x9c0e10, 1); 
   aux_mc.graphics.drawRect(_x, _y, _w, _h); 
   aux_mc.graphics.endFill(); 
   
   if(rectangleAdded == false) 
   { 
      addChild(aux_mc); 
      rectangleAdded = true; 
   }
} 

I agregue 'graphics.clear()' para que limpie los rectangulos anteriores. Espero te sirva.

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox
Citar            
MensajeEscrito el 16 Jun 2011 03:33 pm
Muchas gracias, funciona perfectamente!!!!!

Por Palacio

Claber

198 de clabLevel



 

firefox

 

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