ciao a tutti, posto un paio di cose che magari possono essere interessanti per un po' di gente...
la prima è questa:
- ho appena scoperto (giuro che non ci ero mai incappato) un po' di comportamenti strani delle funzioni di creazione e rimozione dinamica dei movieclips (attachMovie, duplicateMovieClip, createEmptyMovieClip, removeMovieClip)
partiamo con l'attachMovie che per esempio non funziona se come profondità si va a settare un numero inferiore a -16384
provate voi stessi... create un mc nella libreria e come linkage (concatenamento) dategli il nome "palla" e poi mettete il seguente codice
this.attachMovie("palla", "palla1", -16384); //attacca
invece:
this.attachMovie("palla", "palla1", -16385); //non attacca
________________________________
altra cosa molto simpatica: abbiamo detto che l'attachMovie fa casini solo se come depth diamo un numero inferiore a -16384, ma nessun problema per esempio in positivo... possiamo dargli 20fantastiliardi come depth e quello funziona...
se però poi vogliamo usare il removeMovieClip...
attachMovie("palla", "palla1", 10); //attacca
removeMovieClip(palla1); //rimuove (attacca e poi rimuove subito)
________________________
attachMovie("palla", "palla1", -10); //attacca
removeMovieClip(palla1); //non rimuove
scopriamo quindi che se vogliamo usare il remove "palla1" deve essere stato attaccato allo stage con una depth positiva... se la depth è minore di 0 non la rimuove...
altra chicca...
attachMovie("palla", "palla1", 1048575); //attacca
removeMovieClip(palla1); //rimuove
_________________________
attachMovie("palla", "palla1", 1048576); //attacca
removeMovieClip(palla1); //non rimuove
e scopriamo così che oltre a essere positiva deve anche essere inferiore a 1048576
=================================
trascinate ora il simbolo palla sullo stage creandone un istanza alla quale date nome di istanza "palla"...
cancellate le azioni di prima e mettete
duplicateMovieClip("palla", "palla1", -16384); // duplica
palla1._x+=100; //sposta altrimenti non si vede
duplicateMovieClip("palla", "palla1", -16385); // non duplica
palla1._x+=100; //sposta altrimenti non si vede
stesso limite dell'attachMovie... e anche qui nessun limite invece in direzione positiva. anche applicando il removeMovieClip, valgono le stesse regole viste prima per l'attachMovie
======================================
apriamo ora un nuovo fla e nel primo frame mettiamo queste azioni
// facciamo un bel triangolo
createEmptyMovieClip("tri", -16385);
tri.beginFill(0xFF0000, 100);
tri.moveTo(0,0);
tri.lineTo(0, 100);
tri.lineTo(100, 0);
tri.lineTo(0,0);
tri.endFill();
come vedete il createEmptyMovieClip invece funziona anche con profondità inferiori a -16384... nessun limite, nemmeno in positivo
se ora per finire andiamo a mettere il solito removeMovieClip
createEmptyMovieClip("tri", 100);
tri.beginFill(0xFF0000, 100);
tri.moveTo(0,0);
tri.lineTo(0, 100);
tri.lineTo(100, 0);
tri.lineTo(0,0);
tri.endFill();
removeMovieClip(tri); //rimuove correttamente
_______________________-
createEmptyMovieClip("tri", -10);
tri.beginFill(0xFF0000, 100);
tri.moveTo(0,0);
tri.lineTo(0, 100);
tri.lineTo(100, 0);
tri.lineTo(0,0);
tri.endFill();
removeMovieClip(tri); //non rimuove
_________________________-
createEmptyMovieClip("tri", 1048575);
tri.beginFill(0xFF0000, 100);
tri.moveTo(0,0);
tri.lineTo(0, 100);
tri.lineTo(100, 0);
tri.lineTo(0,0);
tri.endFill();
removeMovieClip(tri); //rimuove correttamente
_______________________-
createEmptyMovieClip("tri", 1048576);
tri.beginFill(0xFF0000, 100);
tri.moveTo(0,0);
tri.lineTo(0, 100);
tri.lineTo(100, 0);
tri.lineTo(0,0);
tri.endFill();
removeMovieClip(tri); //non rimuove
notiamo che anche se il createEmptyMovieCLip non ha limiti il remove continua ad avere i soliti
ora... forse mi direte che ho scoperto l'acqua calda... ma giuro che non ne avevo mai sentito parlare ne me n'ero accorto... accetto ben volentieri aggiunte, commenti, precisazioni, insulti etc...
se c'è qualcuno che conosce bene l'argomento gradirei essere illuminato ulteriormente
ciauz