Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [MX] loadvar in array

  1. #1

    [MX] loadvar in array

    Scusate l'inesperienza...
    ...sto cercando di mettere degli aforismi casuali in homepage in modo che non me ne faccia vedere mai 2 uguali almeno fino a quando non siano stati visualizzati tutti.

    Ho una pagina ASP che prende dati da un database e mi restituisce a video le variabili trattate in questa maniera:
    codice:
    ?totale=28&aforisma1=Ciò che non si comprende non lo si possiede. (Goethe, Johann Wolfgang)
    &aforisma2=La sapienza mi perseguita, ma io sono più veloce. (Lupo Alberto)
    ...
    &aforisma28=....
    Nel primo fotogramma della timeline principale del fla ho le istruzioni per caricare le variabili, passarle ad un clip con nome istanza testi e una funzione per mischiare gli elementi di un array che ho trovato in questo forum:
    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;
    	}
    }
    testi.loadVariables("random_aforismi.asp", post);
    stop();
    ...nel primo fotogramma del movieclip testi ho le istruzioni per impostare un contatore a 0, creare un array delle variabili passate da asp, mischiarle e, ovviamente, ho anche un campo di testo dinamico nello stage con assegnata una variabile di nome frase che viene dichiarata nel 2°frame.
    1° frame:
    codice:
    numero=0;
    frasi=new Array();
    for(i=0;i<totale;i++){
    	frasi[i]=eval("aforisma" add i);
    }
    frasi.shuffle();
    2° frame:]
    codice:
    if(numero == totale) {
    numero = 1;
    } else {
    numero = numero + 1;
    }
    frase=frasi[numero]
    ...da questo fotogramma in poi animo la comparsa dell'aforisma fino all'ultimo fotogramma dove faccio un semplice gotoAndPlay(2).

    Alla fine ottengo una fantastica animazione di una singola sola scritta... indovinata? undefinied

    So di stare usando una sintassi ormai obsoleta... ma credo che dovrebbe funzionare lo stesso.

    Qualche idea?

    Grazie, Spectrumino

  2. #2
    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];

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  3. #3
    Alla faccia dell'aiutino!!! Funziona alla grande!

    Sei un mito, davvero! Ora mi studio come funziona tutta sta nuova tecnica :rollo:

    Ancora grazie 1000, Spectrumino

  4. #4
    Originariamente inviato da Spectrumino
    Alla faccia dell'aiutino!!! Funziona alla grande!

    Sei un mito, davvero! Ora mi studio come funziona tutta sta nuova tecnica :rollo:

    Ancora grazie 1000, Spectrumino


    se vuoi info sull'oggetto LoadVars, guarda qui:
    http://flash-mx.html.it/guide/lista_....asp?idguida=9

    o anche qui:

    http://www.flash-php.it/tutorials/loadvars/



    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  5. #5
    Non mancherò di guardarci

    Alla prossima, Spectrumino

  6. #6
    Originariamente inviato da Spectrumino
    Non mancherò di guardarci

    Alla prossima, Spectrumino

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.