se i riferimenti sono giusti, non puo' accadere quello che dite perche' altrimenti sarebbe un baco impressionante ...
Provate quante volte volete questo script che ho appena scritto, se e' come dico io non ci sara' una sola volta che clickando il primo quadrato non si rimuova uno solo delle copie create ...
... idem vale per i singoli clicks sugli altri quadratini .. se clicki, si rimuove.
Copiare e incollare , CTRL + INVIO e buoni tests:
codice:
// livello di partenza
var startLevels = Math.round( Math.random() * 1000000 );
// variabile depth
var quadLevel = startLevels;
// creo un movie
this.createEmptyMovieClip( "quad" + quadLevel, quadLevel );
// rendo il suo accesso piu' comodo
var startObject = new Object( this["quad" + quadLevel++] );
// mi disegno il movie
with( startObject ) {
beginFill ( 0xEFEFEF, 50 );
lineStyle ( 1, 0xABABAB, 100 );
moveTo(0, 0);
lineTo(20, 0);
lineTo(20, 20);
lineTo(0, 20);
lineTo(0, 0);
endFill();
}
// lo posiziono
startObject._x = startObject._y = 10;
// mi memorizzo la Y iniziale per creare il rettangolo ...
var startY = startObject._y;
// CREAZIONE DEL RETTANGOLO DI MOVIECLIP
// ogni 10 vai a capo ...
for( var a = 0; a<10; a++ ) {
// e per ognuna ne creo 16 ...
for( var b = 0; b < 16; b++ ) {
// a parte il primo quadratino, che c'e' gia' ...
if( a != 0 || b != 0 ) {
// duplico
startObject.duplicateMovieClip( "quad" + quadLevel, quadLevel );
// controllo l' "a capo" e in caso resetto la x del capo linea
if( b == 0 ) {
this["quad" + quadLevel]._x = startObject._x;
}
// oppure gli assegno la x di quello prima, piu' la larghezza, piu' 10 pixel ...
else {
this["quad" + quadLevel]._x = this["quad" + (quadLevel-1)]._x + this["quad" + (quadLevel-1)]._width + 10;
}
// assegno la y
this["quad" + quadLevel]._y = startY;
// assegno l' alpha per riconoscerlo dal primo
this["quad" + quadLevel]._alpha = 50;
// gli do l' onPress = rimuoviti
this["quad" + quadLevel].onPress = function() {
this.removeMovieClip();
}
// aumento la depth per il prossimo
quadLevel++;
}
}
// aumento la y di y precedente, piu' altezza movie, piu' 10 pixels
startY += this["quad" + (quadLevel-1)]._height + 10;
}
// mi memorizzo il path ...
startObject.path = this;
// al primo quadratino gli dico di rimuovere tutto con questa funzione
startObject.onPress = function() {
// creo un ciclo dall' ultimo quadLevel valido fino al primo ...
while( --quadLevel >= startLevels ) {
// e dico a quel quad di rimuoversi
this.path["quad" + quadLevel].removeMovieClip();
}
}