Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Scorretta visualizzazione di campi di testo dinamici

    Ciao a tutti!
    Con il codice che segue creo dinamicamente dei campi di testo dinamici a run-time:

    codice:
    myX = 207;
    myY = 100;
    			
    var myformat:TextFormat = new TextFormat();
    myformat.color = 0x666666;
    myformat.font = "Verdana";
    myformat.bold = true;
    myformat.size = 14;
    
    for (i=0; i < titolo.length; i++) {
    	_root.createEmptyMovieClip("mc"+i, i);
    	_root["mc" + i].createTextField("field" + i, i, myX, myY, 200, 100);
    	_root["mc" + i]["field" + i].type = "dynamic";
    	_root["mc" + i]["field" + i].text = titolo[i];
    	_root["mc" + i]["field" + i].setTextFormat(myformat);
    	myY = myY + 15;
    }
    "titolo" è un array, e ho già verificat che contiene dei valori.
    Il problema è che non visualizzo i campi di testo che creo.
    C'è da dire che se provo a eseguire il seguente trace:
    codice:
    trace(_root.mc0.field0.text);
    Mi viene restituito correttamente il contenuto del campo di testo corrispondente, ma sullo stage continuo a non visualizzarli.
    Dove sbaglio?
    Lo scoppato
    andrea@progettipercomunicare.it
    www.progettipercomunicare.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    243
    forse hai problemi di profondità......

    prova a controllare se swapDepths ti può essere di aiuto!
    :master:

  3. #3
    entro solo nel merito della variabile i

    il ciclo è relativo ad MC quindi la i serve solo al depth di mc
    dentro ogni mc c'è un solo "field" che a questo punto può avere un nome univoco ed un livello univoco. Anche le coordinate di Field sono univoche mentre dovrebbero variare quelle di MC

    for (i=0; i < titolo.length; i++) {

    this.createEmptyMovieClip("mc"+i, i);

    this["mc" + i]._x = myX
    this["mc" + i]._y = myY+15 // questa controllala perche potresti sfruttare l'indice i

    this["mc" + i].createTextField("field", 1, myX, myY, 200, 100);

    this["mc" + i].field.text = titolo[i]
    this["mc" + i].field.setTextFormat(myformat);

    }

    Spero ti sia chiaro . Ciao

  4. #4
    Ciao rempox!
    Ho seguito il tuo consiglio, utilizzando il codice che mi hai consigliato.
    Sullo stage continua a non vedersi niente. Anche se, utilizzando il trace mi rendo conto che gli mc creati esistono e contengono il campo di testo con il relativo contenuto:

    Se faccio:

    trace(_root.mc0.field.text);

    mi viene restituito il contenuto del relativo campo.

    ho provato a fare anche trace(_root.mc0._x) oppure trace(_root.mc0._y)
    mi vengono restituite le coordinate.

    Che succede?
    Lo scoppato
    andrea@progettipercomunicare.it
    www.progettipercomunicare.it

  5. #5
    Mh.. strano a meno che tutto quanto non sia posto sotto una maschera ??

    prova così


    Codice PHP:
    myFormat=new TextFormat()
    myFormat.font="Arial"
    myFormat.size=12
    myFormat
    .color=0x333333


    for (i=0titolo.lengthi++) {

    this.createEmptyMovieClip("mc"+ii);

    this["mc" i]._x myX
    this
    ["mc" i]._y myY+15 // questa controllala perche potresti sfruttare l'indice i

    this["mc" i].createTextField("field"1myXmyY200100);
    this["mc" i].field.type="Dynamic"
    this["mc" i].field.multiline=true
    this
    ["mc" i].field.wordWrap=true
    this
    ["mc" i].field.embedFont=false
    this
    ["mc" i].field.text titolo[i]
    this["mc" i].field.autoSize="Left"
    this["mc" i].field.setTextFormat(myformat);


  6. #6
    Ciao!
    Intanto ho risolto!
    La riga che crea il movieClip l'ho modificata in questo modo:

    codice:
    _root.createEmptyMovieClip("mc"+i, _root.getNextHighestDepth());
    Comunque grazie per l'interessamento!
    Lo scoppato
    andrea@progettipercomunicare.it
    www.progettipercomunicare.it

  7. #7
    bhè ...è ovvio io non posso sapere quali altri livelli hai sullo stage, quindi il metodo che hai utilizato è sicuramente appropriato, anche se io preferisco sempre sapere con quali livelli lavoro, ma c'è getDepth che ti risolve il problema qualora ti servisse.

    Ciao

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.