Comunidad de diseño web y desarrollo en internet online

contar clips visibles

Citar            
MensajeEscrito el 27 Feb 2012 01:19 am
Hola q tal? me gustaría saber si hay alguna función que cuente los clips visibles que hay en el stage. Gracias

Por abcdef

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Feb 2012 02:34 am
es igual que en un MovieClip.

numero de clip --> numChildren
clip --> getChildAt (por indice y devuelve clip), getChildByName(por Nombre y devuelve clip)
indice -->getChildIndex (por clip y devuelve indice)

para mas informacion MovieClip

saludos

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Mar 2012 09:22 pm
Aha muchas gracias!
otra duda que viene al hilo... ¿se pueden contar los mc que tienen una determinada alpha? es decir, si tengo varios mc con varias alphas y quiero contar los que tiene alpha=0,5 ¿se puede? ¿como?

igual tiene una respuesta sencilla pero soy novato en esto y todavia no se muchas funciones.

Por abcdef

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Mar 2012 08:05 am
te pongo un ejemplo

Código ActionScript :

var a: int= 0;
for (var c: int= 0; c<this.numChildren; c++)
   if (this.getChildAt(c).alpha==0.5) 
      a+=1;
trace(a);

espero que te sirva y te aclare las dudas

saludos

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 15 Mar 2012 07:08 pm
Gracias. Trabajaré en ello.

Por abcdef

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Abr 2012 04:22 pm
Hola. tenia este proyecto apartado y ahora al volver a él seguí desde el punto que os comenté y al poner el código que me dijo Yonomimi me ocurre algo muy extraño y que no consigo comprender.
Solo me cuenta bien los clips con alpha 0.5. Es decir, si pongo una alpha por ejemplo de 0,85 (o cualquier otro) el resultado es siempre 0.

Dejo el código a ver si me estoy olvidando algo porque de verdad esto no lo entiendo.

Código ActionScript :

var uno:Símbolo1 = new Símbolo1;
uno.x = 0;
uno.alpha = 0.5;
addChild (uno);

var dos:Símbolo2 = new Símbolo2;
dos.x = 100;
dos.alpha = 0.2;
addChild (dos);

var tres:Símbolo3 = new Símbolo3;
tres.x = 200;
tres.alpha = 0.5;
addChild (tres);

/////////////////////////
var a: int= 0;
for (var c: int= 0; c<this.numChildren; c++)
   if (this.getChildAt(c).alpha==0.2) 
      a+=1;
trace(a);


el resultado de esto da 0
Si cambio el 0.2 por 0.5 me da bien (2)

Por abcdef

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 Abr 2012 09:55 am
en vez de preguntar

Código ActionScript :

if (this.getChildAt(c).alpha==0.2) 

prueba asi

Código ActionScript :

if (this.getChildAt(c).alpha<0.5) 


saludos

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Abr 2012 07:23 pm
Parece que así funciona.. gracias!!
aunque me sigue pareciendo extraño lo que sucede. :?

Por abcdef

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 22 Abr 2012 11:04 pm
Hola! siento volver al mismo tema, pero es que sigo sin conseguir que me funcione este tema. el problema es que cargo los movieClips en una clase y los cuento en otra y no funciona. No se cómo unir todo el código... a ver si me podeis ayudar.
Lo escribo para que quede más claro.

CLASE CARGA

Código ActionScript :

package 
{
   import flash.display.*;
   import Símbolo1;

   public class carga extends MovieClip
   {
      public var uno:Símbolo1;

      public function carga()
      {

         uno = new Símbolo1  ;
         uno.x = 100;
         uno.y = 100;
         addChild(uno);
      }
   }
}


CLASE CAMBIA

Código ActionScript :

package 
{
   import flash.display.*;
   
   public class cambia extends MovieClip
   {
      public function cambia(Fichas)
      {
         Fichas.uno.alpha = .15;
         
         var a:int = 0;
         for (var c: int= 0; c<this.numChildren; c++)
         {
            if (Fichas.getChildAt(c).alpha < 0.5)
            {
               a +=  1;
            }
         }
         trace(a);
      }
   }
}


.FLA

Código ActionScript :

var Fichas:carga = new carga();// Carga fichas 
addChild(Fichas);

btn.addEventListener(MouseEvent.CLICK,fun);
function fun(event:MouseEvent){
   var c:cambia = new cambia(Fichas);
}


Gracias

Por abcdef

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 25 Abr 2012 08:29 am
que pretendes?? leer las fichas que has cambiado y que sean <0.5??

pues como utilizas "cambia" despues de hacer "addChild" lo que tienes que hacer es ver los "children" que tiene el contenedor de las fichas...no es asi??

pues entonces:

Código ActionScript :

var a:int = 0;
for (var c: int= 0; c<Fichas.parent.numChildren; c++)
{
  if (Fichas.parent.getChildAt(c).alpha < 0.5)
  {
    a +=  1;
  }
}

trace(a);

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox

 

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