• Super User

    Non è necessario cheimposti un width ed un height, lo script va bene. Piuttosto, che font stai usando ? La stai incorporando nell' swf ?


  • User

    Nelle prove precedenti non dichiaravo nessun font o altro... ora ho provato a dichiarare ciò che mi serve ma ... nel debug vedo cambiare i valori delle variabili... ma il risultato non cambia.

    Tutto il codice...

     
    _root.Scorre.Dinamico.createTextField('Txt_Testo',_root.Scorre.Dinamico.getNextHighestDepth(),0,0,400,500);
    var my_lv:LoadVars = new LoadVars();
     
    my_lv.onData = function(src:String) {
     if (src == undefined) {
      trace("Error loading content.");
      return;
     }
     //Parametri casella di testo
     _root.Scorre.Dinamico.Txt_Testo.text = src;
     _root.Scorre.Dinamico.Txt_Testo.multiline = true
     _root.Scorre.Dinamico.Txt_Testo.font = "Tahoma"
     _root.Scorre.Dinamico.Txt_Testo.textHeight = 150
     _root.Scorre.Dinamico.Txt_Testo.color = 0xFFFFFF
     _root.Scorre.Dinamico.Txt_Testo.bold = true
     _root.Scorre.Dinamico.Txt_Testo.align = "center"
    };
     
    my_lv.load("Titolicoda.txt", my_lv, "GET");
    
    

    in poche parole rimane con i parametri di default... altezza 15 colore nero ecc...


  • Super User

    Scusami, non ti seguo...
    questi parametri:
    //Parametri casella di testo
    _root.Scorre.Dinamico.Txt_Testo.text = src;
    _root.Scorre.Dinamico.Txt_Testo.multiline = true
    _root.Scorre.Dinamico.Txt_Testo.font = "Tahoma"
    _root.Scorre.Dinamico.Txt_Testo.textHeight = 150
    _root.Scorre.Dinamico.Txt_Testo.color = 0xFFFFFF
    _root.Scorre.Dinamico.Txt_Testo.bold = true
    _root.Scorre.Dinamico.Txt_Testo.align = "center"

    li assegni a chi ?

    Perchè il campo di testo che crei in runtime vuole che gli assegni un TextFormat in runtime 🙂


  • User

    @Flep said:

    Scusami, non ti seguo...

    Perdonami ma credo mi manchi una qualche conoscenza basilare...
    Correggimi se sbaglio...

    io nel primo frame creo la casella di testo all'interno del mio clip che sarà quello che farò scorrere da codice... e fin qui funziona.

    poi con la tua procedura vado a scriverci il mio testo che arriva dal txt
    _root.Scorre.Dinamico.Txt_Testo.text = src;
    e questo funziona...

    poi visto che il testo non ha le caratteristiche che io cerco vado ad impostarlo assegnandoglio font ,altezza , colore ecc...
    _root.Scorre.Dinamico.Txt_Testo.multiline = true
    _root.Scorre.Dinamico.Txt_Testo.font = "Tahoma"
    _root.Scorre.Dinamico.Txt_Testo.textHeight = 150
    _root.Scorre.Dinamico.Txt_Testo.color = 0xFFFFFF
    _root.Scorre.Dinamico.Txt_Testo.bold = true
    _root.Scorre.Dinamico.Txt_Testo.align = "center"

    e questo non funziona... probabilmente perchè è sbagliato il metodo... ma come posso creare la mia casella di testo già con le caratteristiche da me cercate?


  • Super User

    No, il fatto è che il campo di testo non lo devi creare tu.
    Lo devi creare via codice come ti ho fatto vedere.

    Intanto fai così, poi vediamo di cambiare la font e altre cose 🙂


  • User

    @Flep said:

    No, il fatto è che il campo di testo non lo devi creare tu.
    Lo devi creare via codice come ti ho fatto vedere.

    Scusami veramente tanto... mi sento deficente a dirlo ma pensavo di averlo già fatto da codice... Non è la riga del createTextField...????

    Tutto il mio codice ,ma anche così non funziona!

    var format:TextFormat = new TextFormat();
    format.align = "center";
    format.size = 80;
    format.font = "Tahoma";
    format.color = 0xFFFFFF;
    format.bold = true;
     
    _root.Scorre.Dinamico.createTextField('Txt_Testo',_root.Scorre.Dinamico.getNextHighestDepth(),0,0,400,500);
    _root.Scorre.Dinamico.Txt_Testo.setTextFormat(format)
    var my_lv:LoadVars = new LoadVars();
     
    my_lv.onData = function(src:String) {
    if (src == undefined) {
    trace("Error loading content.");
    return;
    }
    _root.Scorre.Dinamico.Txt_Testo.text = src;
    };
    

    my_lv.load("Titolicoda.txt", my_lv, "GET");


  • Super User

    Per il momento togli il TextFormat , dobbiamo andare per esclusione e vedere dove è l' errore...

    fai anche un trace :
    trace(scr);
    _root.Scorre.Dinamico.Txt_Testo.text = src;


  • User

    Con il codice seguente nel filamato non vedo nulla ma il trace mi riporta il mio testo... con una linea vuota in più ad ogni "a capo".

     
    _root.Scorre.Dinamico.createTextField('Txt_Testo',_root.Scorre.Dinamico.getNextHighestDepth(),0,0,400,0);
    //_root.Scorre.Dinamico.Txt_Testo.setTextFormat(format)
    var my_lv:LoadVars = new LoadVars();
     
    my_lv.onData = function(src:String) {
     if (src == undefined) {
      trace("Error loading content.");
      return;
     }
     trace(src);
     _root.Scorre.Dinamico.Txt_Testo.text = src;
    };
     
    my_lv.load("Titolicoda.txt", my_lv, "GET");
    
    

    Se nella "createTextField" ci metto un'altezza pari a 500 vedo il mio testo scorrere nel filmato ma è piccolo e nero quando io lo voglio grande e bianco...


  • Super User

    Ce la fai a passarmi il FLA ?


  • User

    Ma sai che ho provato a scrivere nel mio file di testo

    <p style="font-size:30px;">Prima riga
    Seconda riga
    Terza riga ecc
    </p>

    ed il testo viene effettivamente più grande.... funziona da xml... che purtroppo il cliente non vuole.


  • User Attivo

    a quel punto devi applicare una formattazione html..

    campodinamic.html = true
    campdinamic.htmlText = content


  • User

    @edo_flashas said:

    a quel punto devi applicare una formattazione html..

    campodinamic.html = true
    campdinamic.htmlText = content

    Non so se hai letto tutto il tread ma il cliente vuole un file di testo nudo e crudo...
    Per quanto riguarda il formato html vedo che funziona tutto ugualmente... bo? Ma per ora non è il mio obbiettivo.
    Grazie comunque.


  • Super User

    Hai dimenticato il file di testo, scrivilo quì che almeno faccio le prove con l' effettivo testo che necessiti.


  • User

    @Flep said:

    Hai dimenticato il file di testo, scrivilo quì che almeno faccio le prove con l' effettivo testo che necessiti.

    L'effettivo testo lo scriverà il cliente ogni giorno....
    Comunque io provavo con :

     
    Prima riga
    Seconda riga
    Terza riga ecc
    qarta kkkkk gatto merlo capra peppino giorgio
     
    quinta
     
    sesta
     
    settima
     
    ottava
     
    nona
     
    decima
    
    

    Non ridete!!! :quote:


  • User Attivo

    io non ho trovato anomali funziona tutto alla perfezione. quale sarebbe il problema?


  • User

    i problemi sono 2 :

    1)se scrivo molto testo il campo di testo non si ridimensiona per far stare tutto il contenuto.

    2)non riesco a formattare il testo a mio piacere ,ad esempio averlo bianco...


  • Super User

    Te l' ho sistemato, guarda se va bene 🙂


  • User

    Be... è a dir poco perfetto! Hai fatto sin troppo.... GRAZIE. Unica nota negativa è che a parte il movimento che mi era già chiaro ,non so se ci sarei arrivato da solo alla struttura da te utilizzata.
    Posso chiederti di analizzare alcune cose???

     
    var clip:MovieClip=_root.createEmptyMovieClip('clip_mc',_root.getNextHighestDepth());
    
    

    Quindi tu hai creato prima il clip e dentro al clip la casella di testo... questo ti serve solamente per avere vita facile quando dovrai farla muovere o è indispensabile al funzionamento?

     
    var field:TextField=clip.createTextField('field_txt',clip.getNextHighestDepth(),0,0,0,0);
    field.selectable=false;
    field.autoSize=true;
    
    

    Hai assegnato la proprietà autosize alla casella di testo che io non avevo assegnato ,era questo il motivo per cui la mia casella ti testo non si ridimensionava?

     
    clip._y--;
    
    

    Questo mi gestisce il singolo spostamento del clip ad ogni frame... ma questa dicitura "--" mi sottrae una unità? sarebbe come dire "-1". E la velocità la gestisco con il numero di frame al secondo?

    Grazie di tutto


  • Super User

    Creare un clip ed inserire dentro il campo di testo è buona educazione mentre programmi con actionscript. Questo significa che puoi interagire col campo di testo anche attraverso le proprietà della MovieClip , sempre meglio aggiungere un effetto ad una clip che ad un campo di testo ' nudo ' .

    Si, la proprietà autosize fa in modo che il tuo campo di testo si autodimensioni

    clip._y--; è come dire clip._y-=1;

    se rimane clip._y--; allora gestisci con la velocità del frame rate altrimenti puoi gestire:

    clip._y-=1; o clip._y-=2; o clip._y-=3; ecc ecc


  • User

    Si si ... chiaro tutto. Grazie moltissimo....

    Senti una cosa ,ma senza rancore... ho trovato un piccolo baco. Il tutto era centrato solo perchè una delle righe inserite era lunga quasi quanto lo stage ,modificato il testo rimaneva a lato a causa del autosize.
    Ho risolto così... spero di aver imparato bene 😄

     
    function startMovement():Void
    {
     clip._x = (Stage.width - clip._width)/2//CENTRO IL CLIP IN X
     clip._y=Stage.height;
     clip.onEnterFrame=function():Void
     {
      clip._y--;
      if(clip._y<=-clip._height)
      {
       clip._y=Stage.height;
      }
     }
    }
    
    

    Grazie ancora ... a presto 😉