Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Object nome dinamico

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    110

    Object nome dinamico

    Sto litigando con una cosa che probabilmente è una cavolata (o spero).

    Allora:

    var livello_1 : Object = new Object();
    var livello_2 : Object = new Object();
    var livello_3 : Object = new Object();
    E questo non è un problema.

    Solo che, siccome non voglio dover creare 500 variabili a manina, volevo mettere tutto in un ciclo for.
    for (i=0; i <500; i++) {
    var livello_+i : Object = new Object();
    }

    Questo sarebbe ideale, se non fosse che sintatticamente mi da degli errori.
    Ho provato anche con:

    var eval("livello_"+i) : Object = new Object();

    Ma anche questo non va bene.
    Come cavolo faccio a creare degli oggetti nuovi dandogli un nome "dinamico"???

  2. #2
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Originariamente inviato da WolfWolf
    [cut]
    Come cavolo faccio a creare degli oggetti nuovi dandogli un nome "dinamico"???
    Non ne sono sicuro, ma penso che così possa andar bene:
    codice:
    var path = this;
    for (i=0; i<500; i++) {
    	path["livello_"+i] = new Object();
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    110
    Uhm..ora l'errore non me lo da, però non funziona.

    var livello_base:Object = new Object();
    livello_base["primo"] = "a0";
    livello_base["secondo"] = "a1";
    livello_base["terzo"] = "a2";
    this["livello_" + 1] = new Object();
    this["livello_" + 1] = {nome: "alessandro"};
    this["livello_" + 1] = {cognome: "benvenuti"};

    trace(livello_base["primo"]);

    trace(livello_1["cognome"]);
    (ho usato il "+1" al posto di creare il ciclo for giusto perchè è più comodo e semplice)
    In questo caso il primo trace mi restituisce a0 mentre il secondo trace mi da undefinited.
    Il punto è che sto creando degli array multidimensionali è alcuni di questi array devono avere il nome composto "dinamicamente".
    Quindi alla fine l'array livello_base conterrà tante voci che saranno altrettanti array associativi (in questo caso il livello_1).
    Spero si capisca.

  4. #4
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Guarda, è molto strano, infatti a me come output restituisce:

    a0
    benvenuti


    Sto scrivendo in AS2... Non capisco perchè dovrebbe dare due risultati differenti, usando il medesimo codice!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    110
    Porc!!!
    Visto che mi hai detto cosi ho provato a fare un cosa.
    Io fino ad adesso avevo tenuto il codice in un file .as esterno, che includevo nel primo fotogramma del .fla con #include "script.as".
    Se prendo il codice e lo metto direttamente dentro al .fla senza includerlo funziona!!! VVoVe: VVoVe:
    Che cavolo di storia è??
    Per quale motivo assurdo fa cosi????

  6. #6
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Aspetta...
    Devo ragionarci, ma avevo già sentito di strani comportamenti dell'include...

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    quando in AS2 si utilizzano dei file .as esterni da includere con #include conviene metterli dentro una ulteriore cartella all'interno della stessa che contiene il .fla ... questo perchè il programma al momento dell'esportazione cerca nella stessa cartella del .fla se ci sono file .as "supponendo" che tali file contengano classi, mentre se si separano in un'altra cartella non creano problemi

    altra cosa... bisogna considerare bene dove inserire l'include, perchè deve essere presente prima che le variabili siano utilizzate nello script successivo

  8. #8
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Originariamente inviato da and80
    quando in AS2 si utilizzano dei file .as esterni da includere con #include conviene metterli dentro una ulteriore cartella all'interno della stessa che contiene il .fla ... questo perchè il programma al momento dell'esportazione cerca nella stessa cartella del .fla se ci sono file .as "supponendo" che tali file contengano classi, mentre se si separano in un'altra cartella non creano problemi

    altra cosa... bisogna considerare bene dove inserire l'include, perchè deve essere presente prima che le variabili siano utilizzate nello script successivo
    Ecco appunto... Mi riferivo a questo, se non sbaglio se ne era discusso recentemente in ul altro 3d che non trovo più


  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    110
    Ma porca miseria..bello, questo non lo sapevo.
    Mi pare una cavolata, detto tra noi (nel senso che potevano farlo meglio), ma non importa.
    Grazie mille, ora posso continuare nel mio lavoro. :-)

  10. #10
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816

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.