Comunidad de diseño web y desarrollo en internet online

Ayuda addChild

Citar            
MensajeEscrito el 25 Jul 2009 10:41 pm
Hola,
he hecho este codigo que muestra 25 cuadrados
el archivo loquesea.fla

Código ActionScript :

import Rectangulo;
for(var i:uint=0;i<5;i++)
{
   for(var j:uint=0;j<5;j++)
   {
      var rect1:Rectangulo=new Rectangulo(i*110,j*110,100,100);
      addChild(rect1);
   }
}

y el archivo Rectangulo.as

Código ActionScript :

package
{
   import flash.display.*;
   import flash.text.*;
   import flash.events.*;
   public class Rectangulo extends Sprite
   {
      var contenedor:Sprite=new Sprite();
      public function Rectangulo(px:uint,py:uint,ancho:uint,alto:uint)
      {
         contenedor=new Sprite();
         var texto:TextField=new TextField();
         var rectangulo:Shape=new Shape();
         texto.text=Math.floor(Math.random()*100).toString();
         texto.x=0;
         texto.y=alto/2;
         rectangulo.graphics.beginFill(0x000000+Math.floor(Math.random()*1000));
         rectangulo.graphics.drawRect(0,0,ancho,alto);
         rectangulo.graphics.endFill();
         contenedor.addChild(rectangulo);
         contenedor.addChild(texto);
         contenedor.x=px;
         contenedor.y=py;
//1////////////////////////////////////
         addChild(contenedor);
//2////////////////////////////////////
         contenedor.addEventListener(MouseEvent.MOUSE_OVER,quitar);
//3////////////////////////////////////
         contenedor.addEventListener(MouseEvent.MOUSE_OUT,mostrar);
      }
      public function mostrar(e:Event)
      {
         addChild(contenedor);
      }
      public function quitar(e:Event)
      {
         removeChild(contenedor);
      }
   }
}

el programa asi me muestra inicialmente los cuadros y cuando se pasa sobre ellos se van quitando(parpadeando pero bueno)
-->pues lo que quiero es que al principio este en blanco, y cuando se pase el raton por encima vayan apareciendo y cuando se salga de el vuelva a desaparecer, yo habia pensado algo asi

Código ActionScript :

//1////////////////////////////////////
         //nada
//2////////////////////////////////////
         contenedor.addEventListener(MouseEvent.MOUSE_OVER,mostrar);
//3////////////////////////////////////
         contenedor.addEventListener(MouseEvent.MOUSE_OUT,quitar);

pero no me funciona, se queda en blanco, que debo cambiar en el codigo original para que haga lo que quiero?? habia pensado con alpha pero es un poco chapuzas supongo
un saludo y gracias :D

Por Rxdo

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Jul 2009 11:19 pm
Pues es sencillo, lo que pasa es que luego de pasar el mouse y ejecutar quitar() el rectangulo desaparece del escenario por lo que no puede volver a disparar la funcion mostrar sencillamente porque no hay manera de que el mouse pase sobre el nuevamente, lo que tienes que hacer es efectivamente usar alpha para desaparecerlo.

Por GersonM_17

330 de clabLevel



Genero:Masculino   Héroes

Flash AS3 / PHP Developer

chrome

 

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