Sto al solito convertendo una classe.
Situazione, ho un clip sullo stage chiamato pippo,
nella mia classe ho qualcosa tipo
classe.addControl(pippo)
codice:function addControl(target) oggetto = new object() oggetto.target = target _ogg_controllati.push(oggetto) }
Se io rimuovo dallo stage pippo
removeChild(pippo)
e poi vado a controllare
_ogg_controllati[0].target è come se l'oggetto esistesse ancora, cioè sicuramente esiste ancora.
La domanda è: removeChild non rimuove l'oggetto proprio, o l'oggetto rimane perché ne ho un riferimento sull'array?
Quello che devo fare è controllare ogni volta l'array _ogg_controllati, e vedere se il displayobject esiste ancora sullo stage, altrimenti lo sego dall'indice.
Sono stato chiaro? ^^
In AS2 era così
codice:for (var i=0;i<__ogg_controllati.length;i++){ var oggetto:Object = __ogg_controllati[i]; if (oggetto.target._name==undefined){ //se il clip non esiste più lo tolgo dall'elenco da posizionare __ogg_controllati.splice(i,1) }else{ Sposta(oggetto); } }

Rispondi quotando
