Visualizzazione dei risultati da 1 a 9 su 9

Discussione: eval(..) / this[..]

  1. #1

    eval(..) / this[..]

    Ciao a tutti,

    uso flash professional 8,

    il mio problema è quello di impostare dinamicamente la visibilità di alcuni mc annidati, ovvero:

    ho una serie di mc con nome di istanza: "count1","count2","count3".... "countN"

    ognuno di questi movieclip contiene altri mc che andrebbero tutti resi non visibili: per esempio supponiamo che i vari "count" contengano a_mc, b_mc e c_mc da spegnere.

    Io ho provato col seguente codice:

    Codice PHP:
    for (1;  <= numeroCountk++){
            
    //spegnamo tutti gli mc relativi al k-esimo "count"
              
    eval("cont" add k add ".a_mc")._visible false;
              eval(
    "cont" add k add ".b_mc")._visible false;
              eval(
    "cont" add k add ".c_mc")._visible false;
            } 
    ma non funziona e se vado a visualizzare i vari "eval(..)" mi viene restituito un bel "undefine"!


    Dove sto sbagliando?

    Grazie!!!
    cammino, cammino fumando,
    e ad ogni passo,
    attraverso il mio fumo,
    mi trovo dove non ero prima,
    sono dove prima espiravo.

  2. #2
    Perdono.. il commento inserito nel codice non è corretto!.. volevo dire:

    "//spegnamo tutti gli mc contenuti in tutti i cont"
    cammino, cammino fumando,
    e ad ogni passo,
    attraverso il mio fumo,
    mi trovo dove non ero prima,
    sono dove prima espiravo.

  3. #3
    ..forse il mio problema è anche più "grossolano": probabilmente mi basterebbe sapere come arrivare ad un mc contenuto in un altro mc tramite le funzioni "eval" o "this" o "_root"..
    cammino, cammino fumando,
    e ad ogni passo,
    attraverso il mio fumo,
    mi trovo dove non ero prima,
    sono dove prima espiravo.

  4. #4
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    codice:
    for (k=1; k<=numeroCount; k++) {
    	_root["cont"+k+".a_mc"]._visible = false;
    	_root["cont"+k+".b_mc"]._visible = false;
    	_root["cont"+k+".c_mc"]._visible = false;
    }
    Prova così

  5. #5
    niente da fare.. mi da "undefine" anche così
    cammino, cammino fumando,
    e ad ogni passo,
    attraverso il mio fumo,
    mi trovo dove non ero prima,
    sono dove prima espiravo.

  6. #6
    risolto tutto.. sono uno scemo io!!.. Infatti gli mc interni ai vari cont non sono posizionati sulla prima frame ma, a partire da una frame successiva.. ho risolto mettendo:


    eval("cont" add numeroCountVoluto).gotoAndPlay(18);


    prima del ciclo for.

    Grazie di tutto!!!!
    cammino, cammino fumando,
    e ad ogni passo,
    attraverso il mio fumo,
    mi trovo dove non ero prima,
    sono dove prima espiravo.

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

  8. #8
    [appunto]
    le stringhe non si concatenano più con add ... add è deprecato e nei nuovi Flash darà solo errori.

    var i = 0;
    trace("a" + i + "b"); // corretto
    trace("a" + i.toString() + "b"); // corretto
    trace("a".concat(i, "b")); // corretto

    trace("a" add i add "b"); // errato, scrivi di più, garantisci meno portabilità al codice


    add è sintassi più Flash 4 che altro, te lo dico perchè poi andare a cambiare tutti gli add dei tuoi codici non sarà una cosa piacevole
    [/appunto]
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Si giustissimo.. in realtà uso sempre il "+" ma, ho fatto un copia e incolla da un codice piuttosto vecchio..

    Ri-Ciao!
    cammino, cammino fumando,
    e ad ogni passo,
    attraverso il mio fumo,
    mi trovo dove non ero prima,
    sono dove prima espiravo.

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.