Comunidad de diseño web y desarrollo en internet online

Problemas con el _root[""]

Citar            
MensajeEscrito el 19 Jun 2009 09:45 am
Hola gentes! Que tales? Ahura vengo con otro nuevo reto, la movida es que hice un diseño de tablas, gracias a vosotros, sin embargo, a la hora de releer las tablas para actualizar la información, éstas las tengo que borrar e hice este código:

Código ActionScript :

// Comparo el número más grande celdas existente
if(_parent.num.num.text<_parent.N.text){
   _parent.num.num.text=_parent.N.text;
};
// borro tantas celdas como número máximo haya habido (Mejor de más que de menos xD)
for(var g:Number=0;g<_parent.num.num.text;g++){
   _root["b"+g].removeMovieClip();
};


"b" es cada celda de la tabla, como veis es un MovieClip. Pues bien, la primer parte funciona, compara el número de celdas existentes con la vez que más celdas hubo y si tal substituye el número indicado, luego pasaríamos a la segunda parte, donde mediante un FOR busco todas las celdas y las voy eliminando, pero esto no sucede, y no sé porqué. Creo que es por el _root[""], aunque de todas maneras no sé, creo que debería de funcionar pues me tengo referido a varios MovieClips con a función FOR. Alguien me puede ayudar? Muchas gracias gentes ;).

Por miglug

Claber

113 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 19 Jun 2009 09:52 am
Hice un ejemplo donde funciona. Hay un objeto en la librería llamado "ob", otro botón llamado "act" y dos cuadros de texto dinámico, uno se llama "num" y el otro "num2". El código es el siguiente:

Código ActionScript :

// Creo la función del botón para activar el código
act.onRelease=function(){
//Comparo los dos valores y me quedo con el más grande
   if(num2.text<num.text){num2.text=num.text;};
// Borro tantos MovieClips "ob" me marque el número, como dije antes, mejor de más que de menos xD
   for(var g:Number=0;g<num2.text;g++){_root["ob"+g].removeMovieClip();};
   // Creo los nuevo MovieClips "ob" con el mismo procedimiento
   for(var i:Number=0;i<num.text;i++){
   attachMovie("ob","ob"+i,i+1);
   _root["ob"+i]._x=16*i;_root["ob"+i]._y=10;
};};


Aquí como podéis observar funciona perfectamente salvo por un error numérico que estoy tratando de averiguar con eliminarlo. El error viene siendo que cuando pongo 6 para que se creen 6 "ob" y luego pongo para que se creen 10, luego las restantes se basan en 6, es decir, eliminan hasta el 6º cuadrado hasta que llegues a 60 xD. En fin, es una movida tela, a ver si averiguo porque es. Muchas gracias gentes! ;).

Por miglug

Claber

113 de clabLevel



Genero:Masculino  

firefox

 

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