Forum Flash, Actionscript, PHP e MySQL
Ordinare un array di MovieClip, usando sortOn() - (CS4, AS2)

 
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » ActionScript & Server Side
Precedente  Successivo 
Autore Messaggio
LeeFX
principiante
principiante



Registrato: 18/10/09 08:32
Messaggi: 35

MessaggioOggetto: Ordinare un array di MovieClip, usando sortOn() - (CS4, AS2)
Inviato: 11.02.10 | 19:39
Rispondi citando

Molto semplicemente ho un array di MovieClip, così dichiarato:

 
Codice:
MovieClipArray = new Array();


Poi così popolato:

 
Codice:
MovieClipArray.push(MovieClipA);
MovieClipArray.push(MovieClipB);
MovieClipArray.push(MovieClipC);


Ora ogni MovieClip contiene una variabile numerica "age", accessibile normalmente:

 
Codice:
MovieClipA.age;


Perchè quando uso

 
Codice:
MovieClipArray.sortOn("age", Array.NUMERIC);


...non mi ordina nulla?

Ho letto che sortOn() non funziona con gli "array associativi", ma non ho ben capito la differenza tra "array associativi" e "indexed array".

Non me li ordina per questo motivo?

Se sì,
c'è un altro modo "comodo" per ordinarli?
Torna in cima
Profilo Messaggio privato  
Sponsor
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 11.02.10 | 20:20
Rispondi citando

Ciao LeeFX,
hai provato ad usare un array di oggetti?

Esempio:
 
Codice:
// creo i MovieClips
var pippo:MovieClip     = this.createEmptyMovieClip("pippo", 1);
var pluto:MovieClip     = this.createEmptyMovieClip("pluto", 2);
var paperino:MovieClip     = this.createEmptyMovieClip("paperino", 3);
var qui:MovieClip         = this.createEmptyMovieClip("qui", 4);
var quo:MovieClip         = this.createEmptyMovieClip("quo", 5);
var qua:MovieClip         = this.createEmptyMovieClip("qua", 6);
var topolino:MovieClip     = this.createEmptyMovieClip("topolino", 7);

// associo un' age ad ogni MovieClip
pippo.age         = 21;
pluto.age         = 18;
paperino.age     = 27;
qui.age         = 35;
quo.age         = 29;
qua.age         = 44;
topolino.age     = 37;

// push i dati in un array associativo
var arr_ass:Array = new Array();
arr_ass.push({mc:pippo,        age:pippo.age});
arr_ass.push({mc:pluto,        age:pluto.age});
arr_ass.push({mc:paperino,    age:paperino.age});
arr_ass.push({mc:qui,        age:qui.age});
arr_ass.push({mc:quo,        age:quo.age});
arr_ass.push({mc:qua,        age:qua.age});
arr_ass.push({mc:topilino,    age:topolino.age});

// ordinazione numerica di "age"
arr_ass.sortOn("age", Array.NUMERIC);

// trace
var len:Number = arr_ass.length;

for (var i:Number=0; i<len; i++) {
    
    trace("mc: " + arr_ass[i].mc);
    trace(" - age: " + arr_ass[i].age);
    
}


Può andare bene?

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
LeeFX
principiante
principiante



Registrato: 18/10/09 08:32
Messaggi: 35

MessaggioOggetto:
Inviato: 02.03.10 | 19:08
Rispondi citando

Sì, ho risolto in modo simile, ordinando un array di oggetti, ognuno referenziante un movieclip.

L'oggetto funziona praticamente come un puntatore
In modo che:

 
Codice:
obj1.pointer = mc1;
obj2.pointer = mc2;


etc..
ma usando un ciclo for per lo scopo, e li ho messi in un array di oggetti "arr_obj", e poi li ho ordinati senza problemi.

Stranamente sortOn() non funziona direttamente con gli array di movieclip, che immaginavo funzionasse comunque come un array di puntatori, ma bisogna usare questo "trucco"... che immagino faccia più o meno lo stesso (aggiungendo un passaggio però).



P.S.: Scusa se rispondo dopo quasi un mese, non mi sono arrivate le notifiche di risposta.
Torna in cima
Profilo Messaggio privato  
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 02.03.10 | 19:10
Rispondi citando

no problem fagiano
____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
Mostra prima i messaggi di:   
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » ActionScript & Server Side Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

Discussioni Simili
Topic Autore Forum Risposte Ultimo Messaggio
Nessun nuovo messaggio [FLASH 8] caricare 2 swf esterni usan... hellove ActionScript & Server Side 10 16.04.08 | 11:52 Leggi gli ultimi messaggi
hellove
Nessun nuovo messaggio Ordinare un XML blitz ActionScript & Server Side 7 16.03.05 | 20:15 Leggi gli ultimi messaggi
blitz
Nessun nuovo messaggio ordinare i dati in tabella mai PHP 1 26.06.03 | 13:10 Leggi gli ultimi messaggi
Coach
Nessun nuovo messaggio help array torcito ActionScript & Server Side 1 22.07.04 | 21:41 Leggi gli ultimi messaggi
Coach
Nessun nuovo messaggio array e movimento descry ActionScript & Server Side 7 27.04.05 | 12:35 Leggi gli ultimi messaggi
descry



 
Vai a:  
Non puoi inserire nuovi Topic in questo forum
Non puoi rispondere ai Topic in questo forum
Non puoi modificare i tuoi messaggi in questo forum
Non puoi cancellare i tuoi messaggi in questo forum
Non puoi votare nei sondaggi in questo forum
Non puoi allegare files in questo forum
Puoi downloadare gli allegati in questo forum



Powered by phpBB © 2001, 2002 phpBB Group - phpBB SEO Designed by coachdesign - © 2003-2005