Visualizzazione dei risultati da 1 a 8 su 8

Discussione: TextField

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    8

    TextField?

    Ciao
    Sto tentando a creare un menù ad albero in maniera semplice direttamente da actionscript.Allora...ciò che non riesco a capire è come caricare più TextField in un medesimo Clip.
    Col sottostante codice si vede solo l'ultimo TextField creato....come mai ?
    Grazie a tutti !

    _root.createEmptyMovieClip ("MoviePrima",1)
    //Ciclo while
    i=i+1
    CEP = eval("_root.MoviePrima")
    CEP.createTextField("Label"+i,i,NowX,NowY,Larghezz a,Altezza);

    EP=eval("CEP.Label"+i)
    EP.text="+" + Elemento
    //fine while

  2. #2
    Da quello che hai messo sembra che le posizioni tutte nello stesso punto, quindi dovresti cambiare la x o la y.


  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    8
    Ciao, grazie per l'interessamento !
    Si scusa...hai ragione da quel codice sembra proprio un errore di posizioni. L'ho semplificato per mandarlo prima. Cmq ecco il codice completo è rivisto, adesso mi da vari errori dello stesso tipo :


    initX=100
    initY=100
    Larghezza=300
    Altezza=100

    _root.Prova = function(StringaEst,Nfile) {

    Numero=0
    i=0

    while(i<=length(StringaEst)) {
    i=i+1
    Pezzo=substring (StringaEst,1,i)
    carattereATT=substring (Pezzo,i,1)

    if (carattereATT==="T") { //A proposito come faccio a indicare la backslash al posto di T?

    Numero=Numero+1 //Numero le Backslah, quindi le cartelle
    Elemento=substring (Pezzo,1,i-1) //Estraggo l'elemento dalla stringa

    NowX=initX + (10 * (Numero-1)) //Modifico di volta in volta le coordinate
    NowY=initY + (Altezza * (Numero-1)

    if (Numero>0){ _root.createEmptyMovieClip ("MoviePrima",1) } //Il clip lo creo solo una volta



    CEP = eval("_root.MoviePrima")
    CEP.createTextField("Label"+i,i,NowX,NowY,Larghezz a,Altezza);

    EP=eval("CEP.Label"+i)
    EP.text="+" + Elemento //Scrivo il testo

    StringaEst=substring(StringaEst,i+1,length(Stringa Est)-(i-1)) //Modifico La stringa esterna
    i=0 //Ripristino l'indice

    }
    }
    //Fine ciclo While. Aggiungo il file
    NowX=initX + (10 * (Numero+1))
    NowY=initY + (Altezza * (Numero+1)

    file = StringaEst
    CEP = eval("_root.MoviePrima")
    CEP.createTextField("file"+NFile,i,NowX,NowY,Largh ezza,Altezza);

    EP=eval("CEP.file"+i)
    EP.text="+" + file


    }





    _root.Prova ("Dir1TDir2TDir3TFile.aaa") //Richiamo la funzione mandando la stringa path (non riesco a mettere il carattere "/")

    //////////////////////////////////////////////

    Mi dice che è previsto ')' in più righe...provatelo voi stessi in locale, magari devo solo dichiarare qualche var...non so
    Probabilmente sono poco esperto con action script e tento di usarlo come altri linguaggi tipo VB

  4. #4
    Inanzitutto se sei su flash mx non utlizzare eval(), ormai è obsoleto, ma fai semplicemente

    _root.MoviePrima.createTextField("file"+NFile,i,No wX,NowY,Larghezza,Altezza);
    EP="_root.MoviePrima.file"+ì;

    Ti dice che manca ) perchè mancano propio, controlla e vedrai che non ne hai chiuse alcune

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    8

    Il problema persiste !

    Il problema persiste !
    Ciao...
    Per quanto riguarda le parentesi, avevi ragione...le avevo dimenticate
    Ma il problema iniziale persiste, non scrive nulla !

    Ed inoltre nonso come inserire il carattere "/"

    Ciao e grazie



    Cmq...ecco il codice rivisto...logicamente sembrerebbe funzionare
    initX=100
    initY=100
    Larghezza=300
    Altezza=100


    _root.Prova = function(StringaEst,Nfile) {

    Numero=0
    i=0

    while(i<=length(StringaEst)) {
    i=i+1
    Pezzo=substring (StringaEst,1,i)
    carattereATT=substring (Pezzo,i,1)

    if (carattereATT==="T") { //A proposito come faccio a indicare la backslash al posto di T?

    Numero=Numero+1 //Numero le Backslah, quindi le cartelle
    Elemento=substring (Pezzo,1,i-1) //Estraggo l'elemento dalla stringa

    NowX=initX + (10 * (Numero-1)) //Modifico di volta in volta le coordinate
    NowY=initY + (Altezza * (Numero-1))

    if (Numero>0){
    _root.createEmptyMovieClip ("MoviePrima",1)
    } //Il clip lo creo solo una volta


    _root.MoviePrima.createTextField("Label"+i,i,NowX, NowY,Larghezza,Altezza);
    EP="_root.MoviePrima.Label"+i;

    // CEP = eval("_root.MoviePrima")
    // CEP.createTextField("Label"+i,i,NowX,NowY,Larghezz a,Altezza);

    //EP=eval("CEP.Label"+i)
    EP.text="+" + Elemento //Scrivo il testo

    StringaEst=substring(StringaEst,i+1,leng
    th(StringaEst)-(i-1)) //Modifico La stringa esterna
    i=0 //Ripristino l'indice

    }
    }
    //Fine ciclo While. Aggiungo il file
    NowX=initX + (10 * (Numero+1))
    NowY=initY + (Altezza * (Numero+1))

    file = StringaEst
    _root.MoviePrima.createTextField("file"+NFile,i,No wX,NowY,Larghezza,Altezza);
    EP="_root.MoviePrima.file"+NFile;
    // CEP = eval("_root.MoviePrima")
    // CEP.createTextField("file"+NFile,i,NowX,NowY,Largh ezza,Altezza);

    //EP=eval("CEP.file"+NFile)
    EP.text="+" + file


    }





    _root.Prova ("Dir1TDir2TDir3TFile.aaa") //Richiamo la funzione mandando la stringa path (non riesco a mettere il carattere "/")

    P.S. Ieri ho sbagliato ed ho mandato questo post come se fosse un'altro nuovo post :rollo:

  6. #6
    Per controllare utilizza solo == e non === poi per sapere se hai il / prova ad utilizzare questa sintassi "\/". Hai provato a fare come ti ho detto io? Visro che non è dinamico stai utilizzando la funzione eval() inutilmente, se devi fare

    cep=eval("_root.pippo");
    cep.createTextField(...

    non ha senso fare questo, è meglio che utilizzi

    _root.pippo.createTextField()

    Inizia col sostiuire quei eval() poi riprovi e se non va fai sapere

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    8

    Funziona !!

    Grazie tante...adesso funziona bene !
    Vorrei chiedere un altra cosetta, più che altro perchè penso non sia tanto complicata, ovvero come potrei fare a caricare accanto al testo un'immagine esterna ? devo usare il comando attachmovie ? Come ?
    In ogni caso, grazie per l'aiuto !
    Ciao

  8. #8
    No devi sempre utilizzare loadMovie("file.jpg",immagine)
    metti un clip vuoto vicino al testo chiamato immagine e basta


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.