• User

    Testo dinamico verticale

    Ciao a tutti ,portate pazienza ma appena risolta una rogna (grazie a voi) se ne presenta un'altra che facevo facile facile ma sto trovando i miei problemi.

    Devo mettere un testo configuarabile da file esterno (questa volta anche xml) in verticale (scritto con i caratteri girati ,non uno sotto l'altro).
    Per poterlo girare ho dovuto incorporare i caratteri creandomi un mio fot in libreria... il problema che dal file esterno posso solo recuperare il testo ,perchè essendo incorporato non consente modifiche come altezza ,bold ,font ecc...
    è cosa possibile quello che sto cercando di fare?

    Ecco il mio codice ,scusate se è un po' un casino...

     
    var carica:LoadVars = new LoadVars();
    carica.onLoad = function(success:Boolean) {
     if (success) {
         my_txt.text = this.testo//Scrivo il mio testo
     } else {
         trace("Errore nel caricamento del file.");
     }
    };
    carica.load("VerticalText.txt"); 
     
    //Creo la mia variabile di font per rasterizzare i caratteri (vedi libreria)
    var my_fmt:TextFormat = new TextFormat();
    my_fmt.font = "my font";
     
    //Creo la casella di testo e i relativi parametri
    this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 0, 0);
    my_txt.wordWrap = true;
    my_txt.embedFonts = true;
    my_txt.selectable = false;
    my_txt.autoSize = false;
    my_txt.setTextFormat(my_fmt);
    my_txt._rotation = -90;
    my_txt._x = 60- (my_txt._width/2);
    my_txt._y = ((400 - my_txt._height)/2) + my_txt._height;
    
    

    ho provato a passagli parametri dopo il font ma non li sente affatto

    my_fmt.bold = true;
    my_fmt.size = 30;

    A voi la parola...


  • Super User

    Prova senza il sistema della font in libreria.

    Crea un campo di testo dinamico e lo tieni fuori dalla visibilità dello stage. Poi gli inserisci tutti i set di caratteri che ti servono.

    A quel punto invece di utilizzare: my_fmt.font = "my font"; utilizzi il nome della font che hai incorporato nel campo di testo es: my_fmt.font = "Arial";


  • User

    Ammesso che i motivi delle tue prove mi sono oscuri... e quindi non riesco ad elaborarli ,ma ho provato a fare come hai detto con il risulato che non si vede più il testo... torno indietro ,scorporo i font e caratteri, rimetto my font e non funziona comunque... mistero... Ho recuperato dalla copia di salvataggio...


  • Super User

    Se non si vedono, Flash 8 non ti da la possibilità di formattare un TextFormat se il campo di testo è ruotato di 90° .

    Personalmente queste cose le risolvo sempre con la BitmapData ed il metodo draw.
    Crei una MovieClip e crei un campo di testo all' interno della MovieClip.
    Assegni il testo al campo di testo ed un suo TextFormat ( senza ruotare ne campo di testo ne MovieClip).

    Poi con la BitmapData, scatti una foto alla MovieClip e ti ritrovi con una bitmap, la ruoti del tanto che vuoi ed il gioco è fatto 🙂