i dati non vengono caricati subito quindi richiamando la funzione shuffle in anticipo ti ritrovi un array vuoto, senza valori.
usa invece la classe loadVars in questo modo
Metti questo sulla root:
codice:
Array.prototype.shuffle=function(){
for(i=0;i<this.length;i++){
var tmp=this[i];
var randomNum=random(this.length);
this[i]=this[randomNum];
this[randomNum]=tmp;
}
}
dati = new LoadVars();
dati.path = this;
testi.aforismi = new Array();
dati.onLoad = function(){
for(i=1;i<=Number(this.totale);i++){
this.path.testi.aforismi.push(this["aforisma"+i]);
}
this.path.testi.aforismi.shuffle();
this.path.testi.totale = this.totale;
trace(this.path.testi.aforismi);
this.path.testi.play();
}
dati.load("random_aforismi.asp");
stop();
nel movieClip testi, al primo frame metti questo:
codice:
numero=0;
stop();
sul secondo frame invece questo:
codice:
if (numero == totale) {
numero = 1;
} else {
numero++;
}
frase = aforismi[numero];