Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: LoadVars

  1. #1

    LoadVars

    Premetto che ho prima di chiedere ho faticato parecchio.
    Sarà che di Flash capisco poco o nulla ma non riesco ad importare delle variabili esterne.
    Io ho fatto così:

    codice:
    var myVars: LoadVars = new LoadVars(); 
    myVars.onLoad = function(success:Boolean):Void {
    	if (success) {
    		org.text = myVars.vartot;
    		elenco = new Array;
    		for (var i=1;i <= this.vartot;i++) { 
        		elenco[i] = _level0.myVars["var"+i];
    		}
    	}
    	else {
    		org.text = "Non recepito";
    	}
    }
    myVars.load("../elab_ogg.txt");
    e fin qui tutto ok.
    Io vorrei poter utilizzare poi le variabili che ho preso e messo nell'array elenco ma non ci riesco.

    codice:
    _root.onLoad = function() {
    	_root.createEmptyMovieClip("main", 0);
    	for (cont=1; cont<=vartot; cont++) {
    		bla..bla.. bla
    	}
    }
    Cosa dovrei fare? >_<

  2. #2
    Utente di HTML.it L'avatar di 7vite
    Registrato dal
    Mar 2001
    Messaggi
    3,407
    Le variabili le hai già a disposizione nell'array "elenco"

    elenco[0] è il primo elemento ... elenco[1] il secondo ... ecc

    Non vedo dove sia il problema.

  3. #3
    Effettivamente non sono stato chiaro e ho scritto male la seconda parte..

    codice:
    _root.onLoad = function() {
    	_root.createEmptyMovieClip("main", 0);
    	for (cont=1; cont<=elenco[1]; cont++) {
    		bla..bla.. bla
    	}
    }
    Ma mi crea problemi percè mi considera elenco "undefined"
    Ma perchè se invece è definita?

  4. #4
    Utente di HTML.it L'avatar di 7vite
    Registrato dal
    Mar 2001
    Messaggi
    3,407
    allora ...

    facciamo qualche passo indietro.

    nella tua LoadVars ... "myVars.vartot" cosa vale?

  5. #5
    Io nel file di testo ho messo questo testo:

    &var1=10&var2=10102&var3=10108&var4=10707&varto t=4

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    le azioni legate al caricamento dei dati vanno sempre gestite nel caricamento dei dati, quindi l'array potrà essere utilizzato solo dentro la funzione onLoad del LoadVars, per questo se si prova ad utilizzare l'array fuori dall'onLoad si ottiene undefined, perchè effettivamente ancora l'array non è stato riempito al momento in cui viene letto il secondo codice

  7. #7
    Utente di HTML.it L'avatar di 7vite
    Registrato dal
    Mar 2001
    Messaggi
    3,407
    A parte che con questo ciclo for (cont=1; cont<=elenco[1]; cont++) non vai lontano ...

    prova così (tenendo conto degli accorgimenti del buon vecchio and) e vedere che ti stampa

    codice:
    _root.onLoad = function() {
    	_root.createEmptyMovieClip("main", 0);
    	for (cont=1; cont<=org.text; cont++) {
    		trace(elenco[cont]);
    	}
    };

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da 7vite
    A parte che con questo ciclo for (cont=1; cont<=elenco[1]; cont++) non vai lontano ...

    prova così (tenendo conto degli accorgimenti del buon vecchio and) e vedere che ti stampa

    codice:
    _root.onLoad = function() {
    	_root.createEmptyMovieClip("main", 0);
    	for (cont=1; cont<=org.text; cont++) {
    		trace(elenco[cont]);
    	}
    };
    in ogni caso non va bene metterlo come funzione onLoad di _root, al massimo si potrebbe fare una funzione da richiamare nell'onLoad del LoadVars

    codice:
    var useArray = function(array){
    	_root.createEmptyMovieClip("main", 1);
    	for(var cont = 1; cont <= array.length; cont++){
    		trace(array[cont]);
    	}
    }
    e nell'onLoad richiamarlo semplicemente così:
    codice:
    var myVars: LoadVars = new LoadVars(); 
    myVars.onLoad = function(success:Boolean):Void {
    	if (success) {
    		org.text = myVars.vartot;
    		elenco = new Array;
    		for (var i=1;i <= this.vartot;i++) { 
        			elenco.push(_level0.myVars["var"+i]);
    		}
    		useArray(elenco);
    	} else {
    		org.text = "Non recepito";
    	}
    }
    myVars.load("../elab_ogg.txt");

  9. #9
    Grazie delle risposte. ^^

    Siete stati gentilissimi. Solo una curiosità mi rimane.
    Che significa che con quel ciclo non vado lontano?

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    significa che questa cont<=elenco[1], è una condizione che fa un ciclo sul valore di un dato dell'array elenco, era quello che volevi fare? un ciclo su uno dei valori recepiti? o lo volevi fare su tutta la dimensione dell'array?

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.