Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Array [Flash 8]

  1. #1

    Array [Flash 8]

    Salve!
    Ho questo problema, in pratica mi da la variabile option[i] = undefined.

    var elenco = new Array();
    var option = new Array();
    elenco = [1, 2, 3];
    option = ['Messaggio', 'Collaborazione', 'Preventivo lavoro'];
    for (i=0; i<elenco.length; i++) {
    mc.attachMovie("txt", "mc"+i, i);
    mc.duplicateMovieClip("txt", "mc"+i, i);
    //trace(mc["mc"+i]=this.option[i])
    mc["mc"+i]._y = 20*(i+1);
    mc["mc"+i].testo.text = this.option[i];
    mc["mc"+i].onRelease = function() {
    gotoAndPlay(8);
    //targetName.text = this.option[1];
    trace(option[i])
    };
    //this["mc"+i]._x = 5
    //trace(this["mc"+i]._y)
    }
    bx.onRollOut = function() {
    gotoAndPlay(8);
    };

    come mai?

    grazie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    codice:
    var elenco = new Array();
    var option = new Array();
    elenco = [1, 2, 3];
    option = ['Messaggio', 'Collaborazione', 'Preventivo lavoro'];
    for (i=0; i<elenco.length; i++) {
    	mc.attachMovie("txt", "mc"+i, i);
    	mc.duplicateMovieClip("txt", "mc"+i, i);
    	//trace(mc["mc"+i]=this.option[i])
    	mc["mc"+i]._y = 20*(i+1);
    	mc["mc"+i].testo.text = this.option[i];
    	mc["mc"+i].i = i;
    	mc["mc"+i].onRelease = function() {
    		gotoAndPlay(8);
    		//targetName.text = this.option[1];
    		trace(option[this.i])
    	};
    	//this["mc"+i]._x = 5
    	//trace(this["mc"+i]._y)
    }
    bx.onRollOut = function() {
    	gotoAndPlay(8);
    };
    la funzione onRelease viene definita nel ciclo ma quando viene richiamata il ciclo è già finito da un pezzo, quindi se cerchi l'indice i del ciclo, otterrai solo l'ultimo valore assunto da i, la soluzione sta nell'affidare all'interno del ciclo stesso un riferimento al clip che viene processato ed utilizzare quello dentro onRelease, con la sintassi this.i

  3. #3
    Grazie 1000!!!

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.